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,*,*")

Reply via email to