Man page says -Mvect=idiom still supported, but compiler rejects it
Can you please provide more details, including the compiler release version and OS you’re using, as well as an example of the error?
“-Mvect=idiom” is still there and accepted by all the compiler drivers, on x86_64, but isn’t supported on ARM. Are you on ARM?
If yes, I’ve put in an RFE (TPR #28879) to see if we can customize the man pages better per platform. Though the best place to look for what flags are or are not supported on a particular platform is via the command line help (-help) flag.
20.7 on ARM. RHEL 8.0. I did the --help thing of course. That helped me notice the discrepancy in the documentation.
tx001(~) nvc -Mvect=idiom 1.c nvc-Error-Switch -Mvect with unknown keyword idiom -M[no]vect[=[no]simd|nocond|[no]assoc|cachesize:<c>|[no]fuse] Control automatic vector pipelining [no]simd Generate [don't generate] SIMD instructions 128 Use 128-bit SIMD instructions nocond Don't generate conditional SIMD instructions [no]assoc Allow [disallow] reassociation cachesize:<c> Optimize for cache size c [no]fuse Enable [disable] loop fusion
$ man nvc -Mvect [=option[,option,...]] -Mnovect (default) Pass options to the internal vectorizer. This also sets the optimization level to a minimum of 2; see -O. If no option list is specified, then the following vector optimizations are used: assoc,cachesize:c,nosse, where c is the actual cache size of the machine. The -Mvect options are: ... idiom noidiom (default) Enable idiom recognition; this currently has no effect.