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