[PATCH, i386, AVX-512] Split out mask version for vec_extract_hi_<mode>.

Kirill Yukhin kirill.yukhin@gmail.com
Wed Dec 2 17:00:00 GMT 2015


Hello,
On 30 Nov 13:46, Kirill Yukhin wrote:
> Hello,
> Patch in the bottom splits masked version of vec_extract_hi_<mode>
> to block AVX-1512VL insn generation for KNL and cures ICE on spec2k6/450.soplex.
> 
> Bootstrapped and regtesed.
> 
> If no objections - I'll commit on Wednesday.
> 
> gcc/
> 	* config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"):
> 	Remove "prefix_extra".
> 	(define_insn "vec_extract_hi_<mode>_mask"): New.
> 	(define_insn "vec_extract_hi_<mode>"): Remove masking.
> gcc/testsuite/
> 	* gcc.target/i386/avx512vl-vextractf32x4-1.c: Fix scan pattern.
> 
It looks like I forgot to fix i32x4 test as well.

Patch in the bottom fixes it (and a regression on 32b).

If no objections - I'll check it into main trunk tomorrow.

gcc/testsuite/
	* gcc.target/i386/avx512vl-vextracti32x4-1.c: Fix scan pattern.

--
Thanks, K

diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vextracti32x4-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vextracti32x4-1.c
index 7ee87dd..0826a0b 100644
--- a/gcc/testsuite/gcc.target/i386/avx512vl-vextracti32x4-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512vl-vextracti32x4-1.c
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512vl -O2" } */
-/* { dg-final { scan-assembler-times "vextracti32x4\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
+/* { dg-final { scan-assembler-times "vextracti\(?:128|32x4\)\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vextracti32x4\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vextracti32x4\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */



More information about the Gcc-patches mailing list