summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll178
1 files changed, 89 insertions, 89 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll b/llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll
index aab0c6827a7..e5b03c2221c 100644
--- a/llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll
+++ b/llvm/test/CodeGen/X86/avx512-shuffles/shuffle-interleave.ll
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=skx %s -o - | FileCheck %s
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512vl %s -o - | FileCheck %s
define <4 x float> @test_4xfloat_shuff_mask0(<4 x float> %vec1, <4 x float> %vec2) {
; CHECK-LABEL: test_4xfloat_shuff_mask0:
@@ -13,7 +13,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mask0(<4 x float> %vec1, <4 x floa
; CHECK-LABEL: test_4xfloat_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $12, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm2 {%k1} = xmm0[2,1],xmm1[3,1]
; CHECK-NEXT: vmovaps %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -26,7 +26,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mask0(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $12, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[2,1],xmm1[3,1]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x float> %vec1, <4 x float> %vec2, <4 x i32> <i32 2, i32 1, i32 7, i32 5>
@@ -37,7 +37,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mask1(<4 x float> %vec1, <4 x floa
; CHECK-LABEL: test_4xfloat_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $10, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm2 {%k1} = xmm0[1,2],xmm1[3,2]
; CHECK-NEXT: vmovaps %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -50,7 +50,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mask1(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $10, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[1,2],xmm1[3,2]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x float> %vec1, <4 x float> %vec2, <4 x i32> <i32 1, i32 2, i32 7, i32 6>
@@ -61,7 +61,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mask2(<4 x float> %vec1, <4 x floa
; CHECK-LABEL: test_4xfloat_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $6, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm2 {%k1} = xmm0[1,3],xmm1[2,1]
; CHECK-NEXT: vmovaps %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -74,7 +74,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mask2(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $6, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[1,3],xmm1[2,1]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x float> %vec1, <4 x float> %vec2, <4 x i32> <i32 1, i32 3, i32 6, i32 5>
@@ -93,7 +93,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mask3(<4 x float> %vec1, <4 x floa
; CHECK-LABEL: test_4xfloat_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $3, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm2 {%k1} = xmm0[3,3],xmm1[3,3]
; CHECK-NEXT: vmovaps %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -106,7 +106,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mask3(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $3, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[3,3],xmm1[3,3]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x float> %vec1, <4 x float> %vec2, <4 x i32> <i32 3, i32 3, i32 7, i32 7>
@@ -126,7 +126,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mem_mask0(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $5, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm1 {%k1} = xmm0[1,0],mem[1,2]
; CHECK-NEXT: vmovaps %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -140,7 +140,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mem_mask0(<4 x float> %vec1,
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $5, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[1,0],mem[1,2]
; CHECK-NEXT: retq
%vec2 = load <4 x float>, <4 x float>* %vec2p
@@ -153,7 +153,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mem_mask1(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $10, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm1 {%k1} = xmm0[3,3],mem[1,3]
; CHECK-NEXT: vmovaps %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -167,7 +167,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mem_mask1(<4 x float> %vec1,
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $10, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[3,3],mem[1,3]
; CHECK-NEXT: retq
%vec2 = load <4 x float>, <4 x float>* %vec2p
@@ -180,7 +180,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mem_mask2(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $11, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm1 {%k1} = xmm0[1,3],mem[2,0]
; CHECK-NEXT: vmovaps %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -194,7 +194,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mem_mask2(<4 x float> %vec1,
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $11, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[1,3],mem[2,0]
; CHECK-NEXT: retq
%vec2 = load <4 x float>, <4 x float>* %vec2p
@@ -216,7 +216,7 @@ define <4 x float> @test_4xfloat_masked_shuff_mem_mask3(<4 x float> %vec1, <4 x
; CHECK-LABEL: test_4xfloat_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $8, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm1 {%k1} = xmm0[2,1],mem[3,2]
; CHECK-NEXT: vmovaps %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -230,7 +230,7 @@ define <4 x float> @test_4xfloat_zero_masked_shuff_mem_mask3(<4 x float> %vec1,
; CHECK-LABEL: test_4xfloat_zero_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $8, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} xmm0 {%k1} {z} = xmm0[2,1],mem[3,2]
; CHECK-NEXT: retq
%vec2 = load <4 x float>, <4 x float>* %vec2p
@@ -251,7 +251,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mask0(<8 x float> %vec1, <8 x floa
; CHECK-LABEL: test_8xfloat_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm2 {%k1} = ymm0[1,3],ymm1[0,2],ymm0[5,7],ymm1[4,6]
; CHECK-NEXT: vmovaps %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -264,7 +264,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mask0(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[1,3],ymm1[0,2],ymm0[5,7],ymm1[4,6]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x float> %vec1, <8 x float> %vec2, <8 x i32> <i32 1, i32 3, i32 8, i32 10, i32 5, i32 7, i32 12, i32 14>
@@ -275,7 +275,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mask1(<8 x float> %vec1, <8 x floa
; CHECK-LABEL: test_8xfloat_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $126, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm2 {%k1} = ymm0[0,3],ymm1[3,1],ymm0[4,7],ymm1[7,5]
; CHECK-NEXT: vmovaps %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -288,7 +288,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mask1(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $126, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[0,3],ymm1[3,1],ymm0[4,7],ymm1[7,5]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x float> %vec1, <8 x float> %vec2, <8 x i32> <i32 0, i32 3, i32 11, i32 9, i32 4, i32 7, i32 15, i32 13>
@@ -299,7 +299,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mask2(<8 x float> %vec1, <8 x floa
; CHECK-LABEL: test_8xfloat_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-35, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm2 {%k1} = ymm0[0,2],ymm1[2,2],ymm0[4,6],ymm1[6,6]
; CHECK-NEXT: vmovaps %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -312,7 +312,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mask2(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-35, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[0,2],ymm1[2,2],ymm0[4,6],ymm1[6,6]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x float> %vec1, <8 x float> %vec2, <8 x i32> <i32 0, i32 2, i32 10, i32 10, i32 4, i32 6, i32 14, i32 14>
@@ -331,7 +331,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mask3(<8 x float> %vec1, <8 x floa
; CHECK-LABEL: test_8xfloat_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $62, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm2 {%k1} = ymm0[3,2],ymm1[3,2],ymm0[7,6],ymm1[7,6]
; CHECK-NEXT: vmovaps %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -344,7 +344,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mask3(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $62, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[3,2],ymm1[3,2],ymm0[7,6],ymm1[7,6]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x float> %vec1, <8 x float> %vec2, <8 x i32> <i32 3, i32 2, i32 11, i32 10, i32 7, i32 6, i32 15, i32 14>
@@ -364,7 +364,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mem_mask0(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-106, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm1 {%k1} = ymm0[2,1],mem[0,0],ymm0[6,5],mem[4,4]
; CHECK-NEXT: vmovaps %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -378,7 +378,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mem_mask0(<8 x float> %vec1,
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-106, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[2,1],mem[0,0],ymm0[6,5],mem[4,4]
; CHECK-NEXT: retq
%vec2 = load <8 x float>, <8 x float>* %vec2p
@@ -391,7 +391,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mem_mask1(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $114, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm1 {%k1} = ymm0[2,2],mem[1,0],ymm0[6,6],mem[5,4]
; CHECK-NEXT: vmovaps %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -405,7 +405,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mem_mask1(<8 x float> %vec1,
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $114, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[2,2],mem[1,0],ymm0[6,6],mem[5,4]
; CHECK-NEXT: retq
%vec2 = load <8 x float>, <8 x float>* %vec2p
@@ -418,7 +418,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mem_mask2(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-104, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm1 {%k1} = ymm0[3,3],mem[3,3],ymm0[7,7],mem[7,7]
; CHECK-NEXT: vmovaps %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -432,7 +432,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mem_mask2(<8 x float> %vec1,
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-104, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[3,3],mem[3,3],ymm0[7,7],mem[7,7]
; CHECK-NEXT: retq
%vec2 = load <8 x float>, <8 x float>* %vec2p
@@ -454,7 +454,7 @@ define <8 x float> @test_8xfloat_masked_shuff_mem_mask3(<8 x float> %vec1, <8 x
; CHECK-LABEL: test_8xfloat_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $98, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm1 {%k1} = ymm0[3,3],mem[2,1],ymm0[7,7],mem[6,5]
; CHECK-NEXT: vmovaps %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -468,7 +468,7 @@ define <8 x float> @test_8xfloat_zero_masked_shuff_mem_mask3(<8 x float> %vec1,
; CHECK-LABEL: test_8xfloat_zero_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $98, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} ymm0 {%k1} {z} = ymm0[3,3],mem[2,1],ymm0[7,7],mem[6,5]
; CHECK-NEXT: retq
%vec2 = load <8 x float>, <8 x float>* %vec2p
@@ -489,7 +489,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mask0(<16 x float> %vec1, <16 x
; CHECK-LABEL: test_16xfloat_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-19315, %ax # imm = 0xB48D
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm2 {%k1} = zmm0[3,2],zmm1[3,2],zmm0[7,6],zmm1[7,6],zmm0[11,10],zmm1[11,10],zmm0[15,14],zmm1[15,14]
; CHECK-NEXT: vmovaps %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -502,7 +502,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mask0(<16 x float> %vec1, <
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-19315, %ax # imm = 0xB48D
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[3,2],zmm1[3,2],zmm0[7,6],zmm1[7,6],zmm0[11,10],zmm1[11,10],zmm0[15,14],zmm1[15,14]
; CHECK-NEXT: retq
%shuf = shufflevector <16 x float> %vec1, <16 x float> %vec2, <16 x i32> <i32 3, i32 2, i32 19, i32 18, i32 7, i32 6, i32 23, i32 22, i32 11, i32 10, i32 27, i32 26, i32 15, i32 14, i32 31, i32 30>
@@ -513,7 +513,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mask1(<16 x float> %vec1, <16 x
; CHECK-LABEL: test_16xfloat_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movw $18064, %ax # imm = 0x4690
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm2 {%k1} = zmm0[1,2],zmm1[3,3],zmm0[5,6],zmm1[7,7],zmm0[9,10],zmm1[11,11],zmm0[13,14],zmm1[15,15]
; CHECK-NEXT: vmovaps %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -526,7 +526,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mask1(<16 x float> %vec1, <
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movw $18064, %ax # imm = 0x4690
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[1,2],zmm1[3,3],zmm0[5,6],zmm1[7,7],zmm0[9,10],zmm1[11,11],zmm0[13,14],zmm1[15,15]
; CHECK-NEXT: retq
%shuf = shufflevector <16 x float> %vec1, <16 x float> %vec2, <16 x i32> <i32 1, i32 2, i32 19, i32 19, i32 5, i32 6, i32 23, i32 23, i32 9, i32 10, i32 27, i32 27, i32 13, i32 14, i32 31, i32 31>
@@ -537,7 +537,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mask2(<16 x float> %vec1, <16 x
; CHECK-LABEL: test_16xfloat_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-12346, %ax # imm = 0xCFC6
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm2 {%k1} = zmm0[3,0],zmm1[2,1],zmm0[7,4],zmm1[6,5],zmm0[11,8],zmm1[10,9],zmm0[15,12],zmm1[14,13]
; CHECK-NEXT: vmovaps %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -550,7 +550,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mask2(<16 x float> %vec1, <
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-12346, %ax # imm = 0xCFC6
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[3,0],zmm1[2,1],zmm0[7,4],zmm1[6,5],zmm0[11,8],zmm1[10,9],zmm0[15,12],zmm1[14,13]
; CHECK-NEXT: retq
%shuf = shufflevector <16 x float> %vec1, <16 x float> %vec2, <16 x i32> <i32 3, i32 0, i32 18, i32 17, i32 7, i32 4, i32 22, i32 21, i32 11, i32 8, i32 26, i32 25, i32 15, i32 12, i32 30, i32 29>
@@ -569,7 +569,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mask3(<16 x float> %vec1, <16 x
; CHECK-LABEL: test_16xfloat_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-9865, %ax # imm = 0xD977
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm2 {%k1} = zmm0[2,3],zmm1[0,2],zmm0[6,7],zmm1[4,6],zmm0[10,11],zmm1[8,10],zmm0[14,15],zmm1[12,14]
; CHECK-NEXT: vmovaps %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -582,7 +582,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mask3(<16 x float> %vec1, <
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-9865, %ax # imm = 0xD977
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[2,3],zmm1[0,2],zmm0[6,7],zmm1[4,6],zmm0[10,11],zmm1[8,10],zmm0[14,15],zmm1[12,14]
; CHECK-NEXT: retq
%shuf = shufflevector <16 x float> %vec1, <16 x float> %vec2, <16 x i32> <i32 2, i32 3, i32 16, i32 18, i32 6, i32 7, i32 20, i32 22, i32 10, i32 11, i32 24, i32 26, i32 14, i32 15, i32 28, i32 30>
@@ -602,7 +602,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mem_mask0(<16 x float> %vec1, <1
; CHECK-LABEL: test_16xfloat_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movw $7677, %ax # imm = 0x1DFD
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm1 {%k1} = zmm0[3,0],mem[0,2],zmm0[7,4],mem[4,6],zmm0[11,8],mem[8,10],zmm0[15,12],mem[12,14]
; CHECK-NEXT: vmovaps %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -616,7 +616,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mem_mask0(<16 x float> %vec
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movw $7677, %ax # imm = 0x1DFD
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[3,0],mem[0,2],zmm0[7,4],mem[4,6],zmm0[11,8],mem[8,10],zmm0[15,12],mem[12,14]
; CHECK-NEXT: retq
%vec2 = load <16 x float>, <16 x float>* %vec2p
@@ -629,7 +629,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mem_mask1(<16 x float> %vec1, <1
; CHECK-LABEL: test_16xfloat_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movw $14448, %ax # imm = 0x3870
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm1 {%k1} = zmm0[0,2],mem[3,2],zmm0[4,6],mem[7,6],zmm0[8,10],mem[11,10],zmm0[12,14],mem[15,14]
; CHECK-NEXT: vmovaps %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -643,7 +643,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mem_mask1(<16 x float> %vec
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movw $14448, %ax # imm = 0x3870
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[0,2],mem[3,2],zmm0[4,6],mem[7,6],zmm0[8,10],mem[11,10],zmm0[12,14],mem[15,14]
; CHECK-NEXT: retq
%vec2 = load <16 x float>, <16 x float>* %vec2p
@@ -656,7 +656,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mem_mask2(<16 x float> %vec1, <1
; CHECK-LABEL: test_16xfloat_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-13463, %ax # imm = 0xCB69
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm1 {%k1} = zmm0[2,0],mem[2,2],zmm0[6,4],mem[6,6],zmm0[10,8],mem[10,10],zmm0[14,12],mem[14,14]
; CHECK-NEXT: vmovaps %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -670,7 +670,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mem_mask2(<16 x float> %vec
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movw $-13463, %ax # imm = 0xCB69
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[2,0],mem[2,2],zmm0[6,4],mem[6,6],zmm0[10,8],mem[10,10],zmm0[14,12],mem[14,14]
; CHECK-NEXT: retq
%vec2 = load <16 x float>, <16 x float>* %vec2p
@@ -692,7 +692,7 @@ define <16 x float> @test_16xfloat_masked_shuff_mem_mask3(<16 x float> %vec1, <1
; CHECK-LABEL: test_16xfloat_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movw $21793, %ax # imm = 0x5521
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm1 {%k1} = zmm0[2,1],mem[1,3],zmm0[6,5],mem[5,7],zmm0[10,9],mem[9,11],zmm0[14,13],mem[13,15]
; CHECK-NEXT: vmovaps %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -706,7 +706,7 @@ define <16 x float> @test_16xfloat_zero_masked_shuff_mem_mask3(<16 x float> %vec
; CHECK-LABEL: test_16xfloat_zero_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movw $21793, %ax # imm = 0x5521
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufps {{.*#+}} zmm0 {%k1} {z} = zmm0[2,1],mem[1,3],zmm0[6,5],mem[5,7],zmm0[10,9],mem[9,11],zmm0[14,13],mem[13,15]
; CHECK-NEXT: retq
%vec2 = load <16 x float>, <16 x float>* %vec2p
@@ -727,7 +727,7 @@ define <2 x double> @test_2xdouble_masked_shuff_mask0(<2 x double> %vec1, <2 x d
; CHECK-LABEL: test_2xdouble_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm2 {%k1} = xmm0[1],xmm1[0]
; CHECK-NEXT: vmovapd %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -740,7 +740,7 @@ define <2 x double> @test_2xdouble_zero_masked_shuff_mask0(<2 x double> %vec1, <
; CHECK-LABEL: test_2xdouble_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm0 {%k1} {z} = xmm0[1],xmm1[0]
; CHECK-NEXT: retq
%shuf = shufflevector <2 x double> %vec1, <2 x double> %vec2, <2 x i32> <i32 1, i32 2>
@@ -751,7 +751,7 @@ define <2 x double> @test_2xdouble_masked_shuff_mask1(<2 x double> %vec1, <2 x d
; CHECK-LABEL: test_2xdouble_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm2 {%k1} = xmm0[1],xmm1[0]
; CHECK-NEXT: vmovapd %xmm2, %xmm0
; CHECK-NEXT: retq
@@ -764,7 +764,7 @@ define <2 x double> @test_2xdouble_zero_masked_shuff_mask1(<2 x double> %vec1, <
; CHECK-LABEL: test_2xdouble_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm0 {%k1} {z} = xmm0[1],xmm1[0]
; CHECK-NEXT: retq
%shuf = shufflevector <2 x double> %vec1, <2 x double> %vec2, <2 x i32> <i32 1, i32 2>
@@ -784,7 +784,7 @@ define <2 x double> @test_2xdouble_masked_shuff_mem_mask0(<2 x double> %vec1, <2
; CHECK-LABEL: test_2xdouble_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm1 {%k1} = xmm0[1],mem[0]
; CHECK-NEXT: vmovapd %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -798,7 +798,7 @@ define <2 x double> @test_2xdouble_zero_masked_shuff_mem_mask0(<2 x double> %vec
; CHECK-LABEL: test_2xdouble_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $1, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm0 {%k1} {z} = xmm0[1],mem[0]
; CHECK-NEXT: retq
%vec2 = load <2 x double>, <2 x double>* %vec2p
@@ -811,7 +811,7 @@ define <2 x double> @test_2xdouble_masked_shuff_mem_mask1(<2 x double> %vec1, <2
; CHECK-LABEL: test_2xdouble_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm1 {%k1} = xmm0[1],mem[0]
; CHECK-NEXT: vmovapd %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -825,7 +825,7 @@ define <2 x double> @test_2xdouble_zero_masked_shuff_mem_mask1(<2 x double> %vec
; CHECK-LABEL: test_2xdouble_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} xmm0 {%k1} {z} = xmm0[1],mem[0]
; CHECK-NEXT: retq
%vec2 = load <2 x double>, <2 x double>* %vec2p
@@ -846,7 +846,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mask0(<4 x double> %vec1, <4 x d
; CHECK-LABEL: test_4xdouble_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $4, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm2 {%k1} = ymm0[0],ymm1[0],ymm0[3],ymm1[3]
; CHECK-NEXT: vmovapd %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -859,7 +859,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mask0(<4 x double> %vec1, <
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $4, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[0],ymm1[0],ymm0[3],ymm1[3]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x double> %vec1, <4 x double> %vec2, <4 x i32> <i32 0, i32 4, i32 3, i32 7>
@@ -870,7 +870,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mask1(<4 x double> %vec1, <4 x d
; CHECK-LABEL: test_4xdouble_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $8, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm2 {%k1} = ymm0[0],ymm1[0],ymm0[3],ymm1[2]
; CHECK-NEXT: vmovapd %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -883,7 +883,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mask1(<4 x double> %vec1, <
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $8, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[0],ymm1[0],ymm0[3],ymm1[2]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x double> %vec1, <4 x double> %vec2, <4 x i32> <i32 0, i32 4, i32 3, i32 6>
@@ -894,7 +894,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mask2(<4 x double> %vec1, <4 x d
; CHECK-LABEL: test_4xdouble_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $6, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm2 {%k1} = ymm0[1],ymm1[0],ymm0[3],ymm1[2]
; CHECK-NEXT: vmovapd %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -907,7 +907,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mask2(<4 x double> %vec1, <
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $6, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[1],ymm1[0],ymm0[3],ymm1[2]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x double> %vec1, <4 x double> %vec2, <4 x i32> <i32 1, i32 4, i32 3, i32 6>
@@ -926,7 +926,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mask3(<4 x double> %vec1, <4 x d
; CHECK-LABEL: test_4xdouble_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm2 {%k1} = ymm0[0],ymm1[0],ymm0[2],ymm1[3]
; CHECK-NEXT: vmovapd %ymm2, %ymm0
; CHECK-NEXT: retq
@@ -939,7 +939,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mask3(<4 x double> %vec1, <
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $2, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[0],ymm1[0],ymm0[2],ymm1[3]
; CHECK-NEXT: retq
%shuf = shufflevector <4 x double> %vec1, <4 x double> %vec2, <4 x i32> <i32 0, i32 4, i32 2, i32 7>
@@ -959,7 +959,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mem_mask0(<4 x double> %vec1, <4
; CHECK-LABEL: test_4xdouble_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $5, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm1 {%k1} = ymm0[1],mem[1],ymm0[3],mem[2]
; CHECK-NEXT: vmovapd %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -973,7 +973,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mem_mask0(<4 x double> %vec
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $5, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[1],mem[1],ymm0[3],mem[2]
; CHECK-NEXT: retq
%vec2 = load <4 x double>, <4 x double>* %vec2p
@@ -986,7 +986,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mem_mask1(<4 x double> %vec1, <4
; CHECK-LABEL: test_4xdouble_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $4, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm1 {%k1} = ymm0[0],mem[1],ymm0[2],mem[2]
; CHECK-NEXT: vmovapd %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -1000,7 +1000,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mem_mask1(<4 x double> %vec
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $4, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[0],mem[1],ymm0[2],mem[2]
; CHECK-NEXT: retq
%vec2 = load <4 x double>, <4 x double>* %vec2p
@@ -1013,7 +1013,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mem_mask2(<4 x double> %vec1, <4
; CHECK-LABEL: test_4xdouble_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $14, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm1 {%k1} = ymm0[0],mem[0],ymm0[3],mem[2]
; CHECK-NEXT: vmovapd %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -1027,7 +1027,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mem_mask2(<4 x double> %vec
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $14, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[0],mem[0],ymm0[3],mem[2]
; CHECK-NEXT: retq
%vec2 = load <4 x double>, <4 x double>* %vec2p
@@ -1049,7 +1049,7 @@ define <4 x double> @test_4xdouble_masked_shuff_mem_mask3(<4 x double> %vec1, <4
; CHECK-LABEL: test_4xdouble_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $11, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm1 {%k1} = ymm0[1],mem[1],ymm0[2],mem[2]
; CHECK-NEXT: vmovapd %ymm1, %ymm0
; CHECK-NEXT: retq
@@ -1063,7 +1063,7 @@ define <4 x double> @test_4xdouble_zero_masked_shuff_mem_mask3(<4 x double> %vec
; CHECK-LABEL: test_4xdouble_zero_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $11, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} ymm0 {%k1} {z} = ymm0[1],mem[1],ymm0[2],mem[2]
; CHECK-NEXT: retq
%vec2 = load <4 x double>, <4 x double>* %vec2p
@@ -1084,7 +1084,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mask0(<8 x double> %vec1, <8 x d
; CHECK-LABEL: test_8xdouble_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-77, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm2 {%k1} = zmm0[0],zmm1[0],zmm0[2],zmm1[3],zmm0[4],zmm1[5],zmm0[7],zmm1[7]
; CHECK-NEXT: vmovapd %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -1097,7 +1097,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mask0(<8 x double> %vec1, <
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-77, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[0],zmm1[0],zmm0[2],zmm1[3],zmm0[4],zmm1[5],zmm0[7],zmm1[7]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x double> %vec1, <8 x double> %vec2, <8 x i32> <i32 0, i32 8, i32 2, i32 11, i32 4, i32 13, i32 7, i32 15>
@@ -1108,7 +1108,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mask1(<8 x double> %vec1, <8 x d
; CHECK-LABEL: test_8xdouble_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $107, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm2 {%k1} = zmm0[0],zmm1[0],zmm0[2],zmm1[3],zmm0[5],zmm1[5],zmm0[6],zmm1[7]
; CHECK-NEXT: vmovapd %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -1121,7 +1121,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mask1(<8 x double> %vec1, <
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $107, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[0],zmm1[0],zmm0[2],zmm1[3],zmm0[5],zmm1[5],zmm0[6],zmm1[7]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x double> %vec1, <8 x double> %vec2, <8 x i32> <i32 0, i32 8, i32 2, i32 11, i32 5, i32 13, i32 6, i32 15>
@@ -1132,7 +1132,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mask2(<8 x double> %vec1, <8 x d
; CHECK-LABEL: test_8xdouble_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-87, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm2 {%k1} = zmm0[1],zmm1[0],zmm0[3],zmm1[3],zmm0[4],zmm1[5],zmm0[6],zmm1[6]
; CHECK-NEXT: vmovapd %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -1145,7 +1145,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mask2(<8 x double> %vec1, <
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-87, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[1],zmm1[0],zmm0[3],zmm1[3],zmm0[4],zmm1[5],zmm0[6],zmm1[6]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x double> %vec1, <8 x double> %vec2, <8 x i32> <i32 1, i32 8, i32 3, i32 11, i32 4, i32 13, i32 6, i32 14>
@@ -1164,7 +1164,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mask3(<8 x double> %vec1, <8 x d
; CHECK-LABEL: test_8xdouble_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $12, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm2 {%k1} = zmm0[1],zmm1[0],zmm0[3],zmm1[3],zmm0[4],zmm1[4],zmm0[7],zmm1[7]
; CHECK-NEXT: vmovapd %zmm2, %zmm0
; CHECK-NEXT: retq
@@ -1177,7 +1177,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mask3(<8 x double> %vec1, <
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $12, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[1],zmm1[0],zmm0[3],zmm1[3],zmm0[4],zmm1[4],zmm0[7],zmm1[7]
; CHECK-NEXT: retq
%shuf = shufflevector <8 x double> %vec1, <8 x double> %vec2, <8 x i32> <i32 1, i32 8, i32 3, i32 11, i32 4, i32 12, i32 7, i32 15>
@@ -1197,7 +1197,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mem_mask0(<8 x double> %vec1, <8
; CHECK-LABEL: test_8xdouble_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $72, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm1 {%k1} = zmm0[0],mem[0],zmm0[2],mem[2],zmm0[5],mem[5],zmm0[6],mem[7]
; CHECK-NEXT: vmovapd %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -1211,7 +1211,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mem_mask0(<8 x double> %vec
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mem_mask0:
; CHECK: # BB#0:
; CHECK-NEXT: movb $72, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[0],mem[0],zmm0[2],mem[2],zmm0[5],mem[5],zmm0[6],mem[7]
; CHECK-NEXT: retq
%vec2 = load <8 x double>, <8 x double>* %vec2p
@@ -1224,7 +1224,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mem_mask1(<8 x double> %vec1, <8
; CHECK-LABEL: test_8xdouble_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-7, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm1 {%k1} = zmm0[1],mem[0],zmm0[3],mem[2],zmm0[4],mem[4],zmm0[7],mem[7]
; CHECK-NEXT: vmovapd %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -1238,7 +1238,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mem_mask1(<8 x double> %vec
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mem_mask1:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-7, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[1],mem[0],zmm0[3],mem[2],zmm0[4],mem[4],zmm0[7],mem[7]
; CHECK-NEXT: retq
%vec2 = load <8 x double>, <8 x double>* %vec2p
@@ -1251,7 +1251,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mem_mask2(<8 x double> %vec1, <8
; CHECK-LABEL: test_8xdouble_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $26, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm1 {%k1} = zmm0[1],mem[1],zmm0[3],mem[2],zmm0[5],mem[5],zmm0[7],mem[7]
; CHECK-NEXT: vmovapd %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -1265,7 +1265,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mem_mask2(<8 x double> %vec
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mem_mask2:
; CHECK: # BB#0:
; CHECK-NEXT: movb $26, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[1],mem[1],zmm0[3],mem[2],zmm0[5],mem[5],zmm0[7],mem[7]
; CHECK-NEXT: retq
%vec2 = load <8 x double>, <8 x double>* %vec2p
@@ -1287,7 +1287,7 @@ define <8 x double> @test_8xdouble_masked_shuff_mem_mask3(<8 x double> %vec1, <8
; CHECK-LABEL: test_8xdouble_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-39, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm1 {%k1} = zmm0[1],mem[1],zmm0[2],mem[3],zmm0[4],mem[5],zmm0[6],mem[6]
; CHECK-NEXT: vmovapd %zmm1, %zmm0
; CHECK-NEXT: retq
@@ -1301,7 +1301,7 @@ define <8 x double> @test_8xdouble_zero_masked_shuff_mem_mask3(<8 x double> %vec
; CHECK-LABEL: test_8xdouble_zero_masked_shuff_mem_mask3:
; CHECK: # BB#0:
; CHECK-NEXT: movb $-39, %al
-; CHECK-NEXT: kmovd %eax, %k1
+; CHECK-NEXT: kmovw %eax, %k1
; CHECK-NEXT: vshufpd {{.*#+}} zmm0 {%k1} {z} = zmm0[1],mem[1],zmm0[2],mem[3],zmm0[4],mem[5],zmm0[6],mem[6]
; CHECK-NEXT: retq
%vec2 = load <8 x double>, <8 x double>* %vec2p
OpenPOWER on IntegriCloud