Hello! We are out of target flags, so use additional (existing) ix86_target_flags variable.
2017-09-23 Uros Bizjak <ubiz...@gmail.com> PR bootstrap/82306 * config/i386/i386.opt (mprefer-avx256): Use ix86_target_flags variable. * config/i386/i386.c (ix86_target_string): Move -mprefer-avx256 to flag2_opts. Bootstrapped and regression tested on x86_64-linux-gnu {-m32}. Committed to mainline SVN. Uros.
Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 253114) +++ config/i386/i386.c (working copy) @@ -4751,7 +4751,6 @@ ix86_target_string (HOST_WIDE_INT isa, HOST_WIDE_I { "-mavx256-split-unaligned-load", MASK_AVX256_SPLIT_UNALIGNED_LOAD }, { "-mavx256-split-unaligned-store", MASK_AVX256_SPLIT_UNALIGNED_STORE }, { "-mprefer-avx128", MASK_PREFER_AVX128 }, - { "-mprefer-avx256", MASK_PREFER_AVX256 }, { "-mcall-ms2sysv-xlogues", MASK_CALL_MS2SYSV_XLOGUES } }; @@ -4759,6 +4758,7 @@ ix86_target_string (HOST_WIDE_INT isa, HOST_WIDE_I static struct ix86_target_opts flag2_opts[] = { { "-mgeneral-regs-only", OPTION_MASK_GENERAL_REGS_ONLY }, + { "-mprefer-avx256", OPTION_MASK_PREFER_AVX256 }, }; const char *opts[ARRAY_SIZE (isa_opts) + ARRAY_SIZE (isa2_opts) Index: config/i386/i386.opt =================================================================== --- config/i386/i386.opt (revision 253114) +++ config/i386/i386.opt (working copy) @@ -592,7 +592,7 @@ Target Report Mask(PREFER_AVX128) Save Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer. mprefer-avx256 -Target Report Mask(PREFER_AVX256) Save +Target Report Mask(PREFER_AVX256) Var(ix86_target_flags) Save Use 256-bit AVX instructions instead of 512-bit AVX instructions in the auto-vectorizer. ;; ISA support