https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119851
Bug ID: 119851
Summary: [13/14/15/16 regression] -O2 -Q --help=common suggests
-ftree-vectorize is disabled by default (since
r12-4240-g2b8453c401b699)
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: documentation
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
CC: liuhongt at gcc dot gnu.org
Target Milestone: ---
Since r12-4240-g2b8453c401b699, we enable -ftree-vectorize by default at -O2
along with -fvect-cost-model=very-cheap.
But the following doesn't reflect that:
```
$ gcc -O2 -Q --help=common | grep ftree-vectorize
-ftree-vectorize [disabled]
-ftree-vectorizer-verbose=
```
I've seen users needlessly add -ftree-vectorize as a result.
It looks like adding -ftree-vectorize does, however, make a difference to the
cost model we use:
```
$ gcc -O2 -Q --help=common | grep fvect
-fvect-cost-model -fvect-cost-model=dynamic
-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap] very-cheap
```
vs
```
$ gcc -O2 -Q --help=common | grep fvect
-fvect-cost-model -fvect-cost-model=dynamic
-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap] very-cheap
```
So:
* -ftree-vectorize being default-enabled at -O2 should be reflected in --help=
* -ftree-vectorize implying -fvect-cost-model=dynamic should be documented