Hello,
Patch in the bottom fixes assembler strings for broadcast patterns.
Fixes spec2k6/464.h264ref compilation fail with -march=skylake-avx512.

Bootsatrapped, regtested & committed to main trunk.

gcc/
        * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
        assembler to make source always 128bit.

--
Thanks, K

commit 87b314a103f47f21b342d1c0c751088f2562a481
Author: Kirill Yukhin <kirill.yuk...@intel.com>
Date:   Tue Dec 8 15:27:44 2015 +0300

    AVX-512. Fix assembler section for broadcast pattern.

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index eb49c41..6740edf 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -17223,8 +17223,9 @@
            (match_operand:VI_AVX512BW 1 "nonimmediate_operand" "v,m")
            (parallel [(const_int 0)]))))]
   "TARGET_AVX512F"
-  "vpbroadcast<ssemodesuffix>\t{%1, %0|%0, %<iptr>1}
-   vpbroadcast<ssemodesuffix>\t{%x1, %0|%0, %x1}"
+  "@
+   vpbroadcast<ssemodesuffix>\t{%x1, %0|%0, %x1}
+   vpbroadcast<ssemodesuffix>\t{%x1, %0|%0, %<iptr>1}"
   [(set_attr "type" "ssemov")
    (set_attr "prefix" "evex")
    (set_attr "mode" "<sseinsnmode>")])

Reply via email to