Hello!
We are out of target flags, so use additional (existing)
ix86_target_flags variable.
2017-09-23 Uros Bizjak <[email protected]>
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