[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