https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127459
--- Comment #2 from Haochen Jiang <haochen.jiang at intel dot com> ---
Proposed change, currently running regression test:
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 1456c92e498..1a501e42ed4 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -30711,6 +30711,14 @@
(set_attr "prefix" "maybe_evex")
(set_attr "mode" "<sseinsnmode>")])
+(define_mode_attr avx_vec_concat_isa
+ [(V32QI "avx512vl") (V16HI "avx512vl") (V16HF "avx512vl")
+ (V16BF "avx512vl") (V8SI "avx512vl") (V4DI "avx512vl")
+ (V8SF "avx512vl") (V4DF "avx512vl") (V64QI "avx512f")
+ (V32HI "avx512f") (V32HF "avx512f") (V32BF "avx512f")
+ (V16SI "avx512f") (V8DI "avx512f") (V16SF "avx512f")
+ (V8DF "avx512f")])
+
(define_insn "avx_vec_concat<mode>"
[(set (match_operand:V_256_512 0 "register_operand" "=x,v,x,Yv")
(vec_concat:V_256_512
@@ -30814,7 +30822,7 @@
gcc_unreachable ();
}
}
- [(set_attr "isa" "noavx512f,avx512f,*,*")
+ [(set_attr "isa" "no<avx_vec_concat_isa>,<avx_vec_concat_isa>,*,*")
(set_attr "addr" "gpr16,*,*,*")
(set_attr "type" "sselog,sselog,ssemov,ssemov")
(set_attr "c86_attr" "insertx,insertx,*,*")