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