This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, i386, AVX-512] Fix assembler for broadcast pattern.


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.yukhin@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>")])


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]