Tested as described in the covering note.  I plan to commit this as obvious
if the prerequisites are approved.

gcc/
        * config/i386/i386.md (isa): Turn into a code,alternative attribute.
        (enabled, preferred_for_size, preferred_for_speed): Likewise.

diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a57d165..87f60c0 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -798,7 +798,8 @@
                    avx2,noavx2,bmi,bmi2,fma4,fma,avx512f,noavx512f,
                    fma_avx512f,avx512bw,noavx512bw,avx512dq,noavx512dq,
                    avx512vl,noavx512vl"
-  (const_string "base"))
+  (const_string "base")
+  "code,alternative")
 
 (define_attr "enabled" ""
   (cond [(eq_attr "isa" "x64") (symbol_ref "TARGET_64BIT")
@@ -835,10 +836,11 @@
         (eq_attr "isa" "avx512vl") (symbol_ref "TARGET_AVX512VL")
         (eq_attr "isa" "noavx512vl") (symbol_ref "!TARGET_AVX512VL")
        ]
-       (const_int 1)))
+       (const_int 1))
+  "code,alternative")
 
-(define_attr "preferred_for_size" "" (const_int 1))
-(define_attr "preferred_for_speed" "" (const_int 1))
+(define_attr "preferred_for_size" "" (const_int 1) "code,alternative")
+(define_attr "preferred_for_speed" "" (const_int 1) "code,alternative")
 
 ;; Describe a user's asm statement.
 (define_asm_attributes

Reply via email to