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

Reply via email to