diff options
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d8add68..d0241db 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -658,12 +658,16 @@ (define_attr "movu" "0,1" (const_string "0")) ;; Used to control the "enabled" attribute on a per-instruction basis. -(define_attr "isa" "base,x64,nox64,sse2,sse2_noavx,sse3,sse4,sse4_noavx, - noavx,avx,avx2,noavx2,bmi2,fma4,fma" +(define_attr "isa" "base,x64,x64_sse4_noavx,x64_avx,nox64,sse2,sse2_noavx, + sse3,sse4,sse4_noavx,avx,noavx,avx2,noavx2,bmi2,fma4,fma" (const_string "base")) (define_attr "enabled" "" (cond [(eq_attr "isa" "x64") (symbol_ref "TARGET_64BIT") + (eq_attr "isa" "x64_sse4_noavx") + (symbol_ref "TARGET_64BIT && TARGET_SSE4_1 && !TARGET_AVX") + (eq_attr "isa" "x64_avx") + (symbol_ref "TARGET_64BIT && TARGET_AVX") (eq_attr "isa" "nox64") (symbol_ref "!TARGET_64BIT") (eq_attr "isa" "sse2") (symbol_ref "TARGET_SSE2") (eq_attr "isa" "sse2_noavx") |