diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/masked_gather_scatter.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/masked_gather_scatter.ll | 422 |
1 files changed, 211 insertions, 211 deletions
diff --git a/llvm/test/CodeGen/X86/masked_gather_scatter.ll b/llvm/test/CodeGen/X86/masked_gather_scatter.ll index 1ec12d9c61d..d7bd9318e8e 100644 --- a/llvm/test/CodeGen/X86/masked_gather_scatter.ll +++ b/llvm/test/CodeGen/X86/masked_gather_scatter.ll @@ -18,14 +18,14 @@ define <16 x float> @test1(float* %base, <16 x i32> %ind) { ; KNL_64-LABEL: test1: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; KNL_64-NEXT: vmovaps %zmm1, %zmm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test1: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -33,14 +33,14 @@ define <16 x float> @test1(float* %base, <16 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test1: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; SKX-NEXT: vmovaps %zmm1, %zmm0 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test1: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -75,14 +75,14 @@ declare <8 x i32> @llvm.masked.gather.v8i32.v8p0i32(<8 x i32*> , i32, <8 x i1> , define <16 x float> @test2(float* %base, <16 x i32> %ind, i16 %mask) { ; KNL_64-LABEL: test2: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %esi, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; KNL_64-NEXT: vmovaps %zmm1, %zmm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test2: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; KNL_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -90,14 +90,14 @@ define <16 x float> @test2(float* %base, <16 x i32> %ind, i16 %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test2: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %esi, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; SKX-NEXT: vmovaps %zmm1, %zmm0 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test2: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -116,14 +116,14 @@ define <16 x float> @test2(float* %base, <16 x i32> %ind, i16 %mask) { define <16 x i32> @test3(i32* %base, <16 x i32> %ind, i16 %mask) { ; KNL_64-LABEL: test3: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %esi, %k1 ; KNL_64-NEXT: vpgatherdd (%rdi,%zmm0,4), %zmm1 {%k1} ; KNL_64-NEXT: vmovdqa64 %zmm1, %zmm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test3: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; KNL_32-NEXT: vpgatherdd (%eax,%zmm0,4), %zmm1 {%k1} @@ -131,14 +131,14 @@ define <16 x i32> @test3(i32* %base, <16 x i32> %ind, i16 %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test3: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %esi, %k1 ; SKX-NEXT: vpgatherdd (%rdi,%zmm0,4), %zmm1 {%k1} ; SKX-NEXT: vmovdqa64 %zmm1, %zmm0 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test3: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: vpgatherdd (%eax,%zmm0,4), %zmm1 {%k1} @@ -158,7 +158,7 @@ define <16 x i32> @test3(i32* %base, <16 x i32> %ind, i16 %mask) { define <16 x i32> @test4(i32* %base, <16 x i32> %ind, i16 %mask) { ; KNL_64-LABEL: test4: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %esi, %k1 ; KNL_64-NEXT: kmovw %k1, %k2 ; KNL_64-NEXT: vpgatherdd (%rdi,%zmm0,4), %zmm1 {%k2} @@ -168,7 +168,7 @@ define <16 x i32> @test4(i32* %base, <16 x i32> %ind, i16 %mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test4: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; KNL_32-NEXT: kmovw %k1, %k2 @@ -179,7 +179,7 @@ define <16 x i32> @test4(i32* %base, <16 x i32> %ind, i16 %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test4: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %esi, %k1 ; SKX-NEXT: kmovw %k1, %k2 ; SKX-NEXT: vpgatherdd (%rdi,%zmm0,4), %zmm1 {%k2} @@ -189,7 +189,7 @@ define <16 x i32> @test4(i32* %base, <16 x i32> %ind, i16 %mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test4: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: kmovw %k1, %k2 @@ -227,7 +227,7 @@ define <16 x i32> @test4(i32* %base, <16 x i32> %ind, i16 %mask) { define void @test5(i32* %base, <16 x i32> %ind, i16 %mask, <16 x i32>%val) { ; KNL_64-LABEL: test5: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %esi, %k1 ; KNL_64-NEXT: kmovw %k1, %k2 ; KNL_64-NEXT: vpscatterdd %zmm1, (%rdi,%zmm0,4) {%k2} @@ -236,7 +236,7 @@ define void @test5(i32* %base, <16 x i32> %ind, i16 %mask, <16 x i32>%val) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test5: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; KNL_32-NEXT: kmovw %k1, %k2 @@ -246,7 +246,7 @@ define void @test5(i32* %base, <16 x i32> %ind, i16 %mask, <16 x i32>%val) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test5: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %esi, %k1 ; SKX-NEXT: kmovw %k1, %k2 ; SKX-NEXT: vpscatterdd %zmm1, (%rdi,%zmm0,4) {%k2} @@ -255,7 +255,7 @@ define void @test5(i32* %base, <16 x i32> %ind, i16 %mask, <16 x i32>%val) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test5: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: kmovw %k1, %k2 @@ -289,7 +289,7 @@ declare void @llvm.masked.scatter.v16i32.v16p0i32(<16 x i32> , <16 x i32*> , i32 define <8 x i32> @test6(<8 x i32>%a1, <8 x i32*> %ptr) { ; KNL_64-LABEL: test6: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: kxnorw %k0, %k0, %k2 ; KNL_64-NEXT: vpgatherqd (,%zmm1), %ymm2 {%k2} @@ -298,7 +298,7 @@ define <8 x i32> @test6(<8 x i32>%a1, <8 x i32*> %ptr) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test6: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovsxdq %ymm1, %zmm2 ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: kxnorw %k0, %k0, %k2 @@ -308,7 +308,7 @@ define <8 x i32> @test6(<8 x i32>%a1, <8 x i32*> %ptr) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test6: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: kxnorw %k0, %k0, %k2 ; SKX-NEXT: vpgatherqd (,%zmm1), %ymm2 {%k2} @@ -317,7 +317,7 @@ define <8 x i32> @test6(<8 x i32>%a1, <8 x i32*> %ptr) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test6: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: kxnorw %k0, %k0, %k2 ; SKX_32-NEXT: vpgatherdd (,%ymm1), %ymm2 {%k2} @@ -334,7 +334,7 @@ define <8 x i32> @test6(<8 x i32>%a1, <8 x i32*> %ptr) { define <8 x i32> @test7(i32* %base, <8 x i32> %ind, i8 %mask) { ; ; KNL_64-LABEL: test7: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %esi, %k1 ; KNL_64-NEXT: vpmovsxdq %ymm0, %zmm0 ; KNL_64-NEXT: kmovw %k1, %k2 @@ -345,7 +345,7 @@ define <8 x i32> @test7(i32* %base, <8 x i32> %ind, i8 %mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test7: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: movzbl {{[0-9]+}}(%esp), %ecx ; KNL_32-NEXT: kmovw %ecx, %k1 @@ -358,7 +358,7 @@ define <8 x i32> @test7(i32* %base, <8 x i32> %ind, i8 %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test7: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %esi, %k1 ; SKX-NEXT: kmovw %k1, %k2 ; SKX-NEXT: vpgatherdd (%rdi,%ymm0,4), %ymm1 {%k2} @@ -368,7 +368,7 @@ define <8 x i32> @test7(i32* %base, <8 x i32> %ind, i8 %mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test7: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kmovb {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: kmovw %k1, %k2 @@ -393,7 +393,7 @@ define <8 x i32> @test7(i32* %base, <8 x i32> %ind, i8 %mask) { ; each gather call will be split into two define <16 x i32> @test8(<16 x i32*> %ptr.random, <16 x i32> %ind, i16 %mask) { ; KNL_64-LABEL: test8: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %edi, %k1 ; KNL_64-NEXT: kshiftrw $8, %k1, %k2 ; KNL_64-NEXT: kmovw %k2, %k3 @@ -408,7 +408,7 @@ define <16 x i32> @test8(<16 x i32*> %ptr.random, <16 x i32> %ind, i16 %mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test8: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; KNL_32-NEXT: kmovw %k1, %k2 ; KNL_32-NEXT: vpgatherdd (,%zmm0), %zmm1 {%k2} @@ -418,7 +418,7 @@ define <16 x i32> @test8(<16 x i32*> %ptr.random, <16 x i32> %ind, i16 %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test8: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kmovw %edi, %k1 ; SKX-NEXT: kshiftrw $8, %k1, %k2 ; SKX-NEXT: kmovw %k2, %k3 @@ -433,7 +433,7 @@ define <16 x i32> @test8(<16 x i32*> %ptr.random, <16 x i32> %ind, i16 %mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test8: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ; SKX_32-NEXT: kmovw %k1, %k2 ; SKX_32-NEXT: vpgatherdd (,%zmm0), %zmm1 {%k2} @@ -458,7 +458,7 @@ define <16 x i32> @test8(<16 x i32*> %ptr.random, <16 x i32> %ind, i16 %mask) { define <8 x i32> @test9(%struct.ST* %base, <8 x i64> %ind1, <8 x i32>%ind5) { ; KNL_64-LABEL: test9: -; KNL_64: # BB#0: # %entry +; KNL_64: # %bb.0: # %entry ; KNL_64-NEXT: vpbroadcastq %rdi, %zmm2 ; KNL_64-NEXT: vpbroadcastq {{.*#+}} zmm3 = [824,824,824,824,824,824,824,824] ; KNL_64-NEXT: vpmuludq %zmm3, %zmm0, %zmm4 @@ -476,7 +476,7 @@ define <8 x i32> @test9(%struct.ST* %base, <8 x i64> %ind1, <8 x i32>%ind5) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test9: -; KNL_32: # BB#0: # %entry +; KNL_32: # %bb.0: # %entry ; KNL_32-NEXT: vpbroadcastd {{[0-9]+}}(%esp), %ymm2 ; KNL_32-NEXT: vpbroadcastd {{.*#+}} ymm3 = [80,80,80,80,80,80,80,80] ; KNL_32-NEXT: vpmulld %ymm3, %ymm1, %ymm1 @@ -493,7 +493,7 @@ define <8 x i32> @test9(%struct.ST* %base, <8 x i64> %ind1, <8 x i32>%ind5) { ; KNL_32-NEXT: retl ; ; SKX_SMALL-LABEL: test9: -; SKX_SMALL: # BB#0: # %entry +; SKX_SMALL: # %bb.0: # %entry ; SKX_SMALL-NEXT: vpbroadcastq %rdi, %zmm2 ; SKX_SMALL-NEXT: vpmullq {{.*}}(%rip){1to8}, %zmm0, %zmm0 ; SKX_SMALL-NEXT: vpmovsxdq %ymm1, %zmm1 @@ -506,7 +506,7 @@ define <8 x i32> @test9(%struct.ST* %base, <8 x i64> %ind1, <8 x i32>%ind5) { ; SKX_SMALL-NEXT: retq ; ; SKX_LARGE-LABEL: test9: -; SKX_LARGE: # BB#0: # %entry +; SKX_LARGE: # %bb.0: # %entry ; SKX_LARGE-NEXT: vpbroadcastq %rdi, %zmm2 ; SKX_LARGE-NEXT: vpmovsxdq %ymm1, %zmm1 ; SKX_LARGE-NEXT: movabsq ${{\.LCPI.*}}, %rax @@ -522,7 +522,7 @@ define <8 x i32> @test9(%struct.ST* %base, <8 x i64> %ind1, <8 x i32>%ind5) { ; SKX_LARGE-NEXT: retq ; ; SKX_32-LABEL: test9: -; SKX_32: # BB#0: # %entry +; SKX_32: # %bb.0: # %entry ; SKX_32-NEXT: vpmulld {{\.LCPI.*}}{1to8}, %ymm1, %ymm1 ; SKX_32-NEXT: vpmovqd %zmm0, %ymm0 ; SKX_32-NEXT: vpmulld {{\.LCPI.*}}{1to8}, %ymm0, %ymm0 @@ -543,7 +543,7 @@ entry: define <8 x i32> @test10(%struct.ST* %base, <8 x i64> %i1, <8 x i32>%ind5) { ; KNL_64-LABEL: test10: -; KNL_64: # BB#0: # %entry +; KNL_64: # %bb.0: # %entry ; KNL_64-NEXT: vpbroadcastq %rdi, %zmm2 ; KNL_64-NEXT: vpbroadcastq {{.*#+}} zmm3 = [824,824,824,824,824,824,824,824] ; KNL_64-NEXT: vpmuludq %zmm3, %zmm0, %zmm4 @@ -561,7 +561,7 @@ define <8 x i32> @test10(%struct.ST* %base, <8 x i64> %i1, <8 x i32>%ind5) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test10: -; KNL_32: # BB#0: # %entry +; KNL_32: # %bb.0: # %entry ; KNL_32-NEXT: vpbroadcastd {{[0-9]+}}(%esp), %ymm2 ; KNL_32-NEXT: vpbroadcastd {{.*#+}} ymm3 = [80,80,80,80,80,80,80,80] ; KNL_32-NEXT: vpmulld %ymm3, %ymm1, %ymm1 @@ -578,7 +578,7 @@ define <8 x i32> @test10(%struct.ST* %base, <8 x i64> %i1, <8 x i32>%ind5) { ; KNL_32-NEXT: retl ; ; SKX_SMALL-LABEL: test10: -; SKX_SMALL: # BB#0: # %entry +; SKX_SMALL: # %bb.0: # %entry ; SKX_SMALL-NEXT: vpbroadcastq %rdi, %zmm2 ; SKX_SMALL-NEXT: vpmullq {{.*}}(%rip){1to8}, %zmm0, %zmm0 ; SKX_SMALL-NEXT: vpmovsxdq %ymm1, %zmm1 @@ -591,7 +591,7 @@ define <8 x i32> @test10(%struct.ST* %base, <8 x i64> %i1, <8 x i32>%ind5) { ; SKX_SMALL-NEXT: retq ; ; SKX_LARGE-LABEL: test10: -; SKX_LARGE: # BB#0: # %entry +; SKX_LARGE: # %bb.0: # %entry ; SKX_LARGE-NEXT: vpbroadcastq %rdi, %zmm2 ; SKX_LARGE-NEXT: vpmovsxdq %ymm1, %zmm1 ; SKX_LARGE-NEXT: movabsq ${{\.LCPI.*}}, %rax @@ -607,7 +607,7 @@ define <8 x i32> @test10(%struct.ST* %base, <8 x i64> %i1, <8 x i32>%ind5) { ; SKX_LARGE-NEXT: retq ; ; SKX_32-LABEL: test10: -; SKX_32: # BB#0: # %entry +; SKX_32: # %bb.0: # %entry ; SKX_32-NEXT: vpmulld {{\.LCPI.*}}{1to8}, %ymm1, %ymm1 ; SKX_32-NEXT: vpmovqd %zmm0, %ymm0 ; SKX_32-NEXT: vpmulld {{\.LCPI.*}}{1to8}, %ymm0, %ymm0 @@ -629,14 +629,14 @@ entry: ; Splat index in GEP, requires broadcast define <16 x float> @test11(float* %base, i32 %ind) { ; KNL_64-LABEL: test11: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpbroadcastd %esi, %zmm1 ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm1,4), %zmm0 {%k1} ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test11: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vbroadcastss {{[0-9]+}}(%esp), %zmm1 ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 @@ -644,14 +644,14 @@ define <16 x float> @test11(float* %base, i32 %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test11: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpbroadcastd %esi, %zmm1 ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm1,4), %zmm0 {%k1} ; SKX-NEXT: retq ; ; SKX_32-LABEL: test11: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: vbroadcastss {{[0-9]+}}(%esp), %zmm1 ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 @@ -670,14 +670,14 @@ define <16 x float> @test11(float* %base, i32 %ind) { ; We are checking the uniform base here. It is taken directly from input to vgatherdps define <16 x float> @test12(float* %base, <16 x i32> %ind) { ; KNL_64-LABEL: test12: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; KNL_64-NEXT: vmovaps %zmm1, %zmm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test12: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -685,14 +685,14 @@ define <16 x float> @test12(float* %base, <16 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test12: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; SKX-NEXT: vmovaps %zmm1, %zmm0 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test12: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -709,14 +709,14 @@ define <16 x float> @test12(float* %base, <16 x i32> %ind) { ; The same as the previous, but the mask is undefined define <16 x float> @test13(float* %base, <16 x i32> %ind) { ; KNL_64-LABEL: test13: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; KNL_64-NEXT: vmovaps %zmm1, %zmm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test13: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -724,14 +724,14 @@ define <16 x float> @test13(float* %base, <16 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test13: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} ; SKX-NEXT: vmovaps %zmm1, %zmm0 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test13: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: vgatherdps (%eax,%zmm0,4), %zmm1 {%k1} @@ -748,7 +748,7 @@ define <16 x float> @test13(float* %base, <16 x i32> %ind) { ; The base pointer is not splat, can't find unform base define <16 x float> @test14(float* %base, i32 %ind, <16 x float*> %vec) { ; KNL_64-LABEL: test14: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0 ; KNL_64-NEXT: vpbroadcastq %xmm0, %zmm0 ; KNL_64-NEXT: vmovd %esi, %xmm1 @@ -762,7 +762,7 @@ define <16 x float> @test14(float* %base, i32 %ind, <16 x float*> %vec) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test14: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0 ; KNL_32-NEXT: vpbroadcastd %xmm0, %zmm0 ; KNL_32-NEXT: vpslld $2, {{[0-9]+}}(%esp){1to16}, %zmm1 @@ -772,7 +772,7 @@ define <16 x float> @test14(float* %base, i32 %ind, <16 x float*> %vec) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test14: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0 ; SKX-NEXT: vpbroadcastq %xmm0, %zmm0 ; SKX-NEXT: vpbroadcastd %esi, %ymm1 @@ -785,7 +785,7 @@ define <16 x float> @test14(float* %base, i32 %ind, <16 x float*> %vec) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test14: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpinsrd $1, {{[0-9]+}}(%esp), %xmm0, %xmm0 ; SKX_32-NEXT: vpbroadcastd %xmm0, %zmm0 ; SKX_32-NEXT: vpslld $2, {{[0-9]+}}(%esp){1to16}, %zmm1 @@ -810,7 +810,7 @@ declare <2 x double> @llvm.masked.gather.v2f64.v2p0f64(<2 x double*>, i32, <2 x ; Gather smaller than existing instruction define <4 x float> @test15(float* %base, <4 x i32> %ind, <4 x i1> %mask) { ; KNL_64-LABEL: test15: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_64-NEXT: vmovdqa %xmm1, %xmm1 ; KNL_64-NEXT: vpmovsxdq %ymm0, %zmm2 @@ -822,7 +822,7 @@ define <4 x float> @test15(float* %base, <4 x i32> %ind, <4 x i1> %mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test15: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_32-NEXT: vmovdqa %xmm1, %xmm1 ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -835,7 +835,7 @@ define <4 x float> @test15(float* %base, <4 x i32> %ind, <4 x i1> %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test15: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX-NEXT: vgatherdps (%rdi,%xmm0,4), %xmm1 {%k1} @@ -843,7 +843,7 @@ define <4 x float> @test15(float* %base, <4 x i32> %ind, <4 x i1> %mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test15: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -860,7 +860,7 @@ define <4 x float> @test15(float* %base, <4 x i32> %ind, <4 x i1> %mask) { ; Gather smaller than existing instruction define <4 x double> @test16(double* %base, <4 x i32> %ind, <4 x i1> %mask, <4 x double> %src0) { ; KNL_64-LABEL: test16: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %ymm2<def> %ymm2<kill> %zmm2<def> ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_64-NEXT: vpslld $31, %xmm1, %xmm1 @@ -875,7 +875,7 @@ define <4 x double> @test16(double* %base, <4 x i32> %ind, <4 x i1> %mask, <4 x ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test16: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %ymm2<def> %ymm2<kill> %zmm2<def> ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_32-NEXT: vpslld $31, %xmm1, %xmm1 @@ -891,7 +891,7 @@ define <4 x double> @test16(double* %base, <4 x i32> %ind, <4 x i1> %mask, <4 x ; KNL_32-NEXT: retl ; ; SKX-LABEL: test16: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX-NEXT: vgatherdpd (%rdi,%xmm0,8), %ymm2 {%k1} @@ -899,7 +899,7 @@ define <4 x double> @test16(double* %base, <4 x i32> %ind, <4 x i1> %mask, <4 x ; SKX-NEXT: retq ; ; SKX_32-LABEL: test16: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -915,7 +915,7 @@ define <4 x double> @test16(double* %base, <4 x i32> %ind, <4 x i1> %mask, <4 x define <2 x double> @test17(double* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x double> %src0) { ; KNL_64-LABEL: test17: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm2<def> %xmm2<kill> %zmm2<def> ; KNL_64-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_64-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -928,7 +928,7 @@ define <2 x double> @test17(double* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test17: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm2<def> %xmm2<kill> %zmm2<def> ; KNL_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_32-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -942,7 +942,7 @@ define <2 x double> @test17(double* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x ; KNL_32-NEXT: retl ; ; SKX-LABEL: test17: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 @@ -952,7 +952,7 @@ define <2 x double> @test17(double* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x ; SKX-NEXT: retq ; ; SKX_32-LABEL: test17: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX_32-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 @@ -976,7 +976,7 @@ declare void @llvm.masked.scatter.v2f32.v2p0f32(<2 x float> , <2 x float*> , i32 define void @test18(<4 x i32>%a1, <4 x i32*> %ptr, <4 x i1>%mask) { ; KNL_64-LABEL: test18: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %ymm1<def> %ymm1<kill> %zmm1<def> ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_64-NEXT: vmovdqa %xmm2, %xmm2 @@ -987,7 +987,7 @@ define void @test18(<4 x i32>%a1, <4 x i32*> %ptr, <4 x i1>%mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test18: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_32-NEXT: vmovdqa %xmm2, %xmm2 @@ -999,7 +999,7 @@ define void @test18(<4 x i32>%a1, <4 x i32*> %ptr, <4 x i1>%mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test18: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm2, %xmm2 ; SKX-NEXT: vptestmd %xmm2, %xmm2, %k1 ; SKX-NEXT: vpscatterqd %xmm0, (,%ymm1) {%k1} @@ -1007,7 +1007,7 @@ define void @test18(<4 x i32>%a1, <4 x i32*> %ptr, <4 x i1>%mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test18: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpslld $31, %xmm2, %xmm2 ; SKX_32-NEXT: vptestmd %xmm2, %xmm2, %k1 ; SKX_32-NEXT: vpscatterdd %xmm0, (,%xmm1) {%k1} @@ -1018,7 +1018,7 @@ define void @test18(<4 x i32>%a1, <4 x i32*> %ptr, <4 x i1>%mask) { define void @test19(<4 x double>%a1, double* %ptr, <4 x i1>%mask, <4 x i64> %ind) { ; KNL_64-LABEL: test19: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %ymm2<def> %ymm2<kill> %zmm2<def> ; KNL_64-NEXT: # kill: %ymm0<def> %ymm0<kill> %zmm0<def> ; KNL_64-NEXT: vpslld $31, %xmm1, %xmm1 @@ -1032,7 +1032,7 @@ define void @test19(<4 x double>%a1, double* %ptr, <4 x i1>%mask, <4 x i64> %ind ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test19: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %ymm2<def> %ymm2<kill> %zmm2<def> ; KNL_32-NEXT: # kill: %ymm0<def> %ymm0<kill> %zmm0<def> ; KNL_32-NEXT: vpslld $31, %xmm1, %xmm1 @@ -1047,7 +1047,7 @@ define void @test19(<4 x double>%a1, double* %ptr, <4 x i1>%mask, <4 x i64> %ind ; KNL_32-NEXT: retl ; ; SKX-LABEL: test19: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX-NEXT: vscatterqpd %ymm0, (%rdi,%ymm2,8) {%k1} @@ -1055,7 +1055,7 @@ define void @test19(<4 x double>%a1, double* %ptr, <4 x i1>%mask, <4 x i64> %ind ; SKX-NEXT: retq ; ; SKX_32-LABEL: test19: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1070,7 +1070,7 @@ define void @test19(<4 x double>%a1, double* %ptr, <4 x i1>%mask, <4 x i64> %ind ; Data type requires widening define void @test20(<2 x float>%a1, <2 x float*> %ptr, <2 x i1> %mask) { ; KNL_64-LABEL: test20: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_64-NEXT: vinsertps {{.*#+}} xmm2 = xmm2[0,2],zero,zero @@ -1082,7 +1082,7 @@ define void @test20(<2 x float>%a1, <2 x float*> %ptr, <2 x i1> %mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test20: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %ymm0<def> ; KNL_32-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3] ; KNL_32-NEXT: vinsertps {{.*#+}} xmm2 = xmm2[0,2],zero,zero @@ -1095,7 +1095,7 @@ define void @test20(<2 x float>%a1, <2 x float*> %ptr, <2 x i1> %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test20: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; SKX-NEXT: vpsllq $63, %xmm2, %xmm2 ; SKX-NEXT: vptestmq %xmm2, %xmm2, %k1 @@ -1104,7 +1104,7 @@ define void @test20(<2 x float>%a1, <2 x float*> %ptr, <2 x i1> %mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test20: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpermilps {{.*#+}} xmm1 = xmm1[0,2,2,3] ; SKX_32-NEXT: vpsllq $63, %xmm2, %xmm2 ; SKX_32-NEXT: vptestmq %xmm2, %xmm2, %k1 @@ -1117,7 +1117,7 @@ define void @test20(<2 x float>%a1, <2 x float*> %ptr, <2 x i1> %mask) { ; Data type requires promotion define void @test21(<2 x i32>%a1, <2 x i32*> %ptr, <2 x i1>%mask) { ; KNL_64-LABEL: test21: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; KNL_64-NEXT: vmovdqa %xmm2, %xmm2 ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] @@ -1128,7 +1128,7 @@ define void @test21(<2 x i32>%a1, <2 x i32*> %ptr, <2 x i1>%mask) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test21: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpsllq $32, %xmm1, %xmm1 ; KNL_32-NEXT: vpsraq $32, %zmm1, %zmm1 ; KNL_32-NEXT: vmovdqa %xmm2, %xmm2 @@ -1140,7 +1140,7 @@ define void @test21(<2 x i32>%a1, <2 x i32*> %ptr, <2 x i1>%mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test21: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; SKX-NEXT: vpsllq $63, %xmm2, %xmm2 ; SKX-NEXT: vptestmq %xmm2, %xmm2, %k1 @@ -1150,7 +1150,7 @@ define void @test21(<2 x i32>%a1, <2 x i32*> %ptr, <2 x i1>%mask) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test21: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $32, %xmm1, %xmm1 ; SKX_32-NEXT: vpsraq $32, %xmm1, %xmm1 ; SKX_32-NEXT: vpsllq $63, %xmm2, %xmm2 @@ -1168,7 +1168,7 @@ declare <2 x float> @llvm.masked.gather.v2f32.v2p0f32(<2 x float*>, i32, <2 x i1 define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x float> %src0) { ; KNL_64-LABEL: test22: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm2<def> %xmm2<kill> %ymm2<def> ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_64-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero @@ -1182,7 +1182,7 @@ define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x fl ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test22: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm2<def> %xmm2<kill> %ymm2<def> ; KNL_32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_32-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero @@ -1197,7 +1197,7 @@ define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x fl ; KNL_32-NEXT: retl ; ; SKX-LABEL: test22: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,2,2,3] ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1 @@ -1206,7 +1206,7 @@ define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x fl ; SKX-NEXT: retq ; ; SKX_32-LABEL: test22: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,2,2,3] ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1 @@ -1222,7 +1222,7 @@ define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x fl define <2 x float> @test22a(float* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x float> %src0) { ; KNL_64-LABEL: test22a: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm2<def> %xmm2<kill> %ymm2<def> ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; KNL_64-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero @@ -1235,7 +1235,7 @@ define <2 x float> @test22a(float* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x f ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test22a: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm2<def> %xmm2<kill> %ymm2<def> ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; KNL_32-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero @@ -1249,7 +1249,7 @@ define <2 x float> @test22a(float* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x f ; KNL_32-NEXT: retl ; ; SKX-LABEL: test22a: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX-NEXT: vgatherqps (%rdi,%xmm0,4), %xmm2 {%k1} @@ -1257,7 +1257,7 @@ define <2 x float> @test22a(float* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x f ; SKX-NEXT: retq ; ; SKX_32-LABEL: test22a: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1274,7 +1274,7 @@ declare <2 x i64> @llvm.masked.gather.v2i64.v2p0i64(<2 x i64*>, i32, <2 x i1>, < define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> %src0) { ; KNL_64-LABEL: test23: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[0,2,2,3] ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_64-NEXT: vpmovsxdq %ymm0, %zmm0 @@ -1288,7 +1288,7 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> % ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test23: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[0,2,2,3] ; KNL_32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] @@ -1303,7 +1303,7 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> % ; KNL_32-NEXT: retl ; ; SKX-LABEL: test23: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] @@ -1313,7 +1313,7 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> % ; SKX-NEXT: retq ; ; SKX_32-LABEL: test23: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1330,7 +1330,7 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> % define <2 x i32> @test23b(i32* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x i32> %src0) { ; KNL_64-LABEL: test23b: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; KNL_64-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[0,2,2,3] ; KNL_64-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero @@ -1343,7 +1343,7 @@ define <2 x i32> @test23b(i32* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x i32> ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test23b: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[0,2,2,3] @@ -1357,7 +1357,7 @@ define <2 x i32> @test23b(i32* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x i32> ; KNL_32-NEXT: retl ; ; SKX-LABEL: test23b: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX-NEXT: vpshufd {{.*#+}} xmm1 = xmm2[0,2,2,3] @@ -1366,7 +1366,7 @@ define <2 x i32> @test23b(i32* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x i32> ; SKX-NEXT: retq ; ; SKX_32-LABEL: test23b: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 ; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1381,7 +1381,7 @@ define <2 x i32> @test23b(i32* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x i32> define <2 x i32> @test24(i32* %base, <2 x i32> %ind) { ; KNL_64-LABEL: test24: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_64-NEXT: vpmovsxdq %ymm0, %zmm0 ; KNL_64-NEXT: movb $3, %al @@ -1392,7 +1392,7 @@ define <2 x i32> @test24(i32* %base, <2 x i32> %ind) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test24: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_32-NEXT: vpmovsxdq %ymm0, %zmm0 @@ -1404,7 +1404,7 @@ define <2 x i32> @test24(i32* %base, <2 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test24: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: movb $3, %al ; SKX-NEXT: kmovw %eax, %k1 ; SKX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] @@ -1413,7 +1413,7 @@ define <2 x i32> @test24(i32* %base, <2 x i32> %ind) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test24: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: movb $3, %cl ; SKX_32-NEXT: kmovw %ecx, %k1 @@ -1429,7 +1429,7 @@ define <2 x i32> @test24(i32* %base, <2 x i32> %ind) { define <2 x i64> @test25(i64* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i64> %src0) { ; KNL_64-LABEL: test25: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm2<def> %xmm2<kill> %zmm2<def> ; KNL_64-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_64-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -1442,7 +1442,7 @@ define <2 x i64> @test25(i64* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i64> % ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test25: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm2<def> %xmm2<kill> %zmm2<def> ; KNL_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_32-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -1456,7 +1456,7 @@ define <2 x i64> @test25(i64* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i64> % ; KNL_32-NEXT: retl ; ; SKX-LABEL: test25: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX-NEXT: vpsllq $63, %xmm1, %xmm1 @@ -1466,7 +1466,7 @@ define <2 x i64> @test25(i64* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i64> % ; SKX-NEXT: retq ; ; SKX_32-LABEL: test25: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX_32-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1 @@ -1483,7 +1483,7 @@ define <2 x i64> @test25(i64* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i64> % define <2 x i64> @test26(i64* %base, <2 x i32> %ind, <2 x i64> %src0) { ; KNL_64-LABEL: test26: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; KNL_64-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_64-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -1495,7 +1495,7 @@ define <2 x i64> @test26(i64* %base, <2 x i32> %ind, <2 x i64> %src0) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test26: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; KNL_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; KNL_32-NEXT: vpsraq $32, %zmm0, %zmm0 @@ -1509,7 +1509,7 @@ define <2 x i64> @test26(i64* %base, <2 x i32> %ind, <2 x i64> %src0) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test26: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX-NEXT: kxnorw %k0, %k0, %k1 @@ -1518,7 +1518,7 @@ define <2 x i64> @test26(i64* %base, <2 x i32> %ind, <2 x i64> %src0) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test26: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $32, %xmm0, %xmm0 ; SKX_32-NEXT: vpsraq $32, %xmm0, %xmm0 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1535,7 +1535,7 @@ define <2 x i64> @test26(i64* %base, <2 x i32> %ind, <2 x i64> %src0) { ; Result type requires widening; all-ones mask define <2 x float> @test27(float* %base, <2 x i32> %ind) { ; KNL_64-LABEL: test27: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_64-NEXT: vpmovsxdq %ymm0, %zmm1 ; KNL_64-NEXT: movb $3, %al @@ -1546,7 +1546,7 @@ define <2 x float> @test27(float* %base, <2 x i32> %ind) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test27: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpmovsxdq %ymm0, %zmm1 @@ -1558,7 +1558,7 @@ define <2 x float> @test27(float* %base, <2 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test27: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[0,2,2,3] ; SKX-NEXT: movb $3, %al ; SKX-NEXT: kmovw %eax, %k1 @@ -1566,7 +1566,7 @@ define <2 x float> @test27(float* %base, <2 x i32> %ind) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test27: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpermilps {{.*#+}} xmm1 = xmm0[0,2,2,3] ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: movb $3, %cl @@ -1582,7 +1582,7 @@ define <2 x float> @test27(float* %base, <2 x i32> %ind) { ; Data type requires promotion, mask is all-ones define void @test28(<2 x i32>%a1, <2 x i32*> %ptr) { ; KNL_64-LABEL: test28: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; KNL_64-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] ; KNL_64-NEXT: movb $3, %al @@ -1592,7 +1592,7 @@ define void @test28(<2 x i32>%a1, <2 x i32*> %ptr) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test28: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpsllq $32, %xmm1, %xmm1 ; KNL_32-NEXT: vpsraq $32, %zmm1, %zmm1 ; KNL_32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] @@ -1604,7 +1604,7 @@ define void @test28(<2 x i32>%a1, <2 x i32*> %ptr) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test28: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; SKX-NEXT: movb $3, %al ; SKX-NEXT: kmovw %eax, %k1 @@ -1614,7 +1614,7 @@ define void @test28(<2 x i32>%a1, <2 x i32*> %ptr) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test28: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $32, %xmm1, %xmm1 ; SKX_32-NEXT: vpsraq $32, %xmm1, %xmm1 ; SKX_32-NEXT: movb $3, %al @@ -1636,7 +1636,7 @@ define void @test28(<2 x i32>%a1, <2 x i32*> %ptr) { define <16 x float> @test29(float* %base, <16 x i32> %ind) { ; KNL_64-LABEL: test29: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: movw $44, %ax ; KNL_64-NEXT: kmovw %eax, %k1 ; KNL_64-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} @@ -1644,7 +1644,7 @@ define <16 x float> @test29(float* %base, <16 x i32> %ind) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test29: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: movw $44, %cx ; KNL_32-NEXT: kmovw %ecx, %k1 @@ -1653,7 +1653,7 @@ define <16 x float> @test29(float* %base, <16 x i32> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: test29: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: movw $44, %ax ; SKX-NEXT: kmovw %eax, %k1 ; SKX-NEXT: vgatherdps (%rdi,%zmm0,4), %zmm1 {%k1} @@ -1661,7 +1661,7 @@ define <16 x float> @test29(float* %base, <16 x i32> %ind) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test29: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: movw $44, %cx ; SKX_32-NEXT: kmovw %ecx, %k1 @@ -1683,7 +1683,7 @@ define <16 x float> @test29(float* %base, <16 x i32> %ind) { declare <3 x i32> @llvm.masked.gather.v3i32.v3p0i32(<3 x i32*>, i32, <3 x i1>, <3 x i32>) define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x i32> %src0) { ; KNL_64-LABEL: test30: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kmovw %edx, %k0 ; KNL_64-NEXT: kmovw %esi, %k2 ; KNL_64-NEXT: vpmovsxdq %xmm1, %ymm1 @@ -1692,7 +1692,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_64-NEXT: testb $1, %dil ; KNL_64-NEXT: # implicit-def: %xmm0 ; KNL_64-NEXT: je .LBB31_2 -; KNL_64-NEXT: # BB#1: # %cond.load +; KNL_64-NEXT: # %bb.1: # %cond.load ; KNL_64-NEXT: vmovq %xmm1, %rax ; KNL_64-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero ; KNL_64-NEXT: .LBB31_2: # %else @@ -1702,7 +1702,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_64-NEXT: kmovw %k2, %eax ; KNL_64-NEXT: testb $1, %al ; KNL_64-NEXT: je .LBB31_4 -; KNL_64-NEXT: # BB#3: # %cond.load1 +; KNL_64-NEXT: # %bb.3: # %cond.load1 ; KNL_64-NEXT: vpextrq $1, %xmm1, %rax ; KNL_64-NEXT: vpinsrd $1, (%rax), %xmm0, %xmm0 ; KNL_64-NEXT: .LBB31_4: # %else2 @@ -1711,7 +1711,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_64-NEXT: kmovw %k0, %eax ; KNL_64-NEXT: testb $1, %al ; KNL_64-NEXT: je .LBB31_6 -; KNL_64-NEXT: # BB#5: # %cond.load4 +; KNL_64-NEXT: # %bb.5: # %cond.load4 ; KNL_64-NEXT: vextracti128 $1, %ymm1, %xmm1 ; KNL_64-NEXT: vmovq %xmm1, %rax ; KNL_64-NEXT: vpinsrd $2, (%rax), %xmm0, %xmm0 @@ -1730,7 +1730,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test30: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: kmovw %eax, %k0 ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -1741,7 +1741,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_32-NEXT: testb $1, %al ; KNL_32-NEXT: # implicit-def: %xmm0 ; KNL_32-NEXT: je .LBB31_2 -; KNL_32-NEXT: # BB#1: # %cond.load +; KNL_32-NEXT: # %bb.1: # %cond.load ; KNL_32-NEXT: vmovd %xmm1, %ecx ; KNL_32-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero ; KNL_32-NEXT: .LBB31_2: # %else @@ -1751,7 +1751,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_32-NEXT: kmovw %k2, %eax ; KNL_32-NEXT: testb $1, %al ; KNL_32-NEXT: je .LBB31_4 -; KNL_32-NEXT: # BB#3: # %cond.load1 +; KNL_32-NEXT: # %bb.3: # %cond.load1 ; KNL_32-NEXT: vpextrd $1, %xmm1, %eax ; KNL_32-NEXT: vpinsrd $1, (%eax), %xmm0, %xmm0 ; KNL_32-NEXT: .LBB31_4: # %else2 @@ -1760,7 +1760,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_32-NEXT: kmovw %k0, %eax ; KNL_32-NEXT: testb $1, %al ; KNL_32-NEXT: je .LBB31_6 -; KNL_32-NEXT: # BB#5: # %cond.load4 +; KNL_32-NEXT: # %bb.5: # %cond.load4 ; KNL_32-NEXT: vpextrd $2, %xmm1, %eax ; KNL_32-NEXT: vpinsrd $2, (%eax), %xmm0, %xmm0 ; KNL_32-NEXT: .LBB31_6: # %else5 @@ -1777,7 +1777,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; KNL_32-NEXT: retl ; ; SKX-LABEL: test30: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm2, %xmm2 ; SKX-NEXT: vptestmd %xmm2, %xmm2, %k1 ; SKX-NEXT: kshiftlw $15, %k1, %k0 @@ -1789,7 +1789,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX-NEXT: testb $1, %al ; SKX-NEXT: # implicit-def: %xmm0 ; SKX-NEXT: je .LBB31_2 -; SKX-NEXT: # BB#1: # %cond.load +; SKX-NEXT: # %bb.1: # %cond.load ; SKX-NEXT: vmovq %xmm1, %rax ; SKX-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero ; SKX-NEXT: .LBB31_2: # %else @@ -1798,7 +1798,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX-NEXT: kmovw %k0, %eax ; SKX-NEXT: testb $1, %al ; SKX-NEXT: je .LBB31_4 -; SKX-NEXT: # BB#3: # %cond.load1 +; SKX-NEXT: # %bb.3: # %cond.load1 ; SKX-NEXT: vpextrq $1, %xmm1, %rax ; SKX-NEXT: vpinsrd $1, (%rax), %xmm0, %xmm0 ; SKX-NEXT: .LBB31_4: # %else2 @@ -1807,7 +1807,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX-NEXT: kmovw %k0, %eax ; SKX-NEXT: testb $1, %al ; SKX-NEXT: je .LBB31_6 -; SKX-NEXT: # BB#5: # %cond.load4 +; SKX-NEXT: # %bb.5: # %cond.load4 ; SKX-NEXT: vextracti128 $1, %ymm1, %xmm1 ; SKX-NEXT: vmovq %xmm1, %rax ; SKX-NEXT: vpinsrd $2, (%rax), %xmm0, %xmm0 @@ -1818,7 +1818,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX-NEXT: retq ; ; SKX_32-LABEL: test30: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: subl $12, %esp ; SKX_32-NEXT: .cfi_def_cfa_offset 16 ; SKX_32-NEXT: vpslld $31, %xmm2, %xmm2 @@ -1831,7 +1831,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX_32-NEXT: testb $1, %al ; SKX_32-NEXT: # implicit-def: %xmm1 ; SKX_32-NEXT: je .LBB31_2 -; SKX_32-NEXT: # BB#1: # %cond.load +; SKX_32-NEXT: # %bb.1: # %cond.load ; SKX_32-NEXT: vmovd %xmm2, %eax ; SKX_32-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero ; SKX_32-NEXT: .LBB31_2: # %else @@ -1840,7 +1840,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX_32-NEXT: kmovw %k0, %eax ; SKX_32-NEXT: testb $1, %al ; SKX_32-NEXT: je .LBB31_4 -; SKX_32-NEXT: # BB#3: # %cond.load1 +; SKX_32-NEXT: # %bb.3: # %cond.load1 ; SKX_32-NEXT: vpextrd $1, %xmm2, %eax ; SKX_32-NEXT: vpinsrd $1, (%eax), %xmm1, %xmm1 ; SKX_32-NEXT: .LBB31_4: # %else2 @@ -1850,7 +1850,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x ; SKX_32-NEXT: kmovw %k0, %eax ; SKX_32-NEXT: testb $1, %al ; SKX_32-NEXT: je .LBB31_6 -; SKX_32-NEXT: # BB#5: # %cond.load4 +; SKX_32-NEXT: # %bb.5: # %cond.load4 ; SKX_32-NEXT: vpextrd $2, %xmm2, %eax ; SKX_32-NEXT: vpinsrd $2, (%eax), %xmm1, %xmm1 ; SKX_32-NEXT: .LBB31_6: # %else5 @@ -1867,7 +1867,7 @@ define <3 x i32> @test30(<3 x i32*> %base, <3 x i32> %ind, <3 x i1> %mask, <3 x declare <16 x float*> @llvm.masked.gather.v16p0f32.v16p0p0f32(<16 x float**>, i32, <16 x i1>, <16 x float*>) define <16 x float*> @test31(<16 x float**> %ptrs) { ; KNL_64-LABEL: test31: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: kxnorw %k0, %k0, %k2 ; KNL_64-NEXT: vpgatherqq (,%zmm0), %zmm2 {%k2} @@ -1877,14 +1877,14 @@ define <16 x float*> @test31(<16 x float**> %ptrs) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test31: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: vpgatherdd (,%zmm0), %zmm1 {%k1} ; KNL_32-NEXT: vmovdqa64 %zmm1, %zmm0 ; KNL_32-NEXT: retl ; ; SKX-LABEL: test31: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: kxnorw %k0, %k0, %k1 ; SKX-NEXT: kxnorw %k0, %k0, %k2 ; SKX-NEXT: vpgatherqq (,%zmm0), %zmm2 {%k2} @@ -1894,7 +1894,7 @@ define <16 x float*> @test31(<16 x float**> %ptrs) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: test31: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: vpgatherdd (,%zmm0), %zmm1 {%k1} ; SKX_32-NEXT: vmovdqa64 %zmm1, %zmm0 @@ -1906,7 +1906,7 @@ define <16 x float*> @test31(<16 x float**> %ptrs) { define <16 x i32> @test_gather_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> %src0) { ; KNL_64-LABEL: test_gather_16i32: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -1918,7 +1918,7 @@ define <16 x i32> @test_gather_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_gather_16i32: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; KNL_32-NEXT: vpslld $31, %zmm1, %zmm1 ; KNL_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -1927,7 +1927,7 @@ define <16 x i32> @test_gather_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_gather_16i32: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -1939,7 +1939,7 @@ define <16 x i32> @test_gather_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_gather_16i32: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; SKX_32-NEXT: vpslld $31, %zmm1, %zmm1 ; SKX_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -1951,7 +1951,7 @@ define <16 x i32> @test_gather_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i } define <16 x i64> @test_gather_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> %src0) { ; KNL_64-LABEL: test_gather_16i64: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -1963,7 +1963,7 @@ define <16 x i64> @test_gather_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_gather_16i64: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: pushl %ebp ; KNL_32-NEXT: .cfi_def_cfa_offset 8 ; KNL_32-NEXT: .cfi_offset %ebp, -8 @@ -1985,7 +1985,7 @@ define <16 x i64> @test_gather_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_gather_16i64: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -1997,7 +1997,7 @@ define <16 x i64> @test_gather_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_gather_16i64: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: pushl %ebp ; SKX_32-NEXT: .cfi_def_cfa_offset 8 ; SKX_32-NEXT: .cfi_offset %ebp, -8 @@ -2023,7 +2023,7 @@ define <16 x i64> @test_gather_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i declare <16 x i64> @llvm.masked.gather.v16i64.v16p0i64(<16 x i64*> %ptrs, i32, <16 x i1> %mask, <16 x i64> %src0) define <16 x float> @test_gather_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x float> %src0) { ; KNL_64-LABEL: test_gather_16f32: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2035,7 +2035,7 @@ define <16 x float> @test_gather_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_gather_16f32: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; KNL_32-NEXT: vpslld $31, %zmm1, %zmm1 ; KNL_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2044,7 +2044,7 @@ define <16 x float> @test_gather_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_gather_16f32: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2056,7 +2056,7 @@ define <16 x float> @test_gather_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_gather_16f32: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; SKX_32-NEXT: vpslld $31, %zmm1, %zmm1 ; SKX_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2068,7 +2068,7 @@ define <16 x float> @test_gather_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 } define <16 x double> @test_gather_16f64(<16 x double*> %ptrs, <16 x i1> %mask, <16 x double> %src0) { ; KNL_64-LABEL: test_gather_16f64: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2080,7 +2080,7 @@ define <16 x double> @test_gather_16f64(<16 x double*> %ptrs, <16 x i1> %mask, < ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_gather_16f64: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: pushl %ebp ; KNL_32-NEXT: .cfi_def_cfa_offset 8 ; KNL_32-NEXT: .cfi_offset %ebp, -8 @@ -2102,7 +2102,7 @@ define <16 x double> @test_gather_16f64(<16 x double*> %ptrs, <16 x i1> %mask, < ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_gather_16f64: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2114,7 +2114,7 @@ define <16 x double> @test_gather_16f64(<16 x double*> %ptrs, <16 x i1> %mask, < ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_gather_16f64: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: pushl %ebp ; SKX_32-NEXT: .cfi_def_cfa_offset 8 ; SKX_32-NEXT: .cfi_offset %ebp, -8 @@ -2140,7 +2140,7 @@ define <16 x double> @test_gather_16f64(<16 x double*> %ptrs, <16 x i1> %mask, < declare <16 x double> @llvm.masked.gather.v16f64.v16p0f64(<16 x double*> %ptrs, i32, <16 x i1> %mask, <16 x double> %src0) define void @test_scatter_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> %src0) { ; KNL_64-LABEL: test_scatter_16i32: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2152,7 +2152,7 @@ define void @test_scatter_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> % ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_scatter_16i32: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; KNL_32-NEXT: vpslld $31, %zmm1, %zmm1 ; KNL_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2161,7 +2161,7 @@ define void @test_scatter_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> % ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_scatter_16i32: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2173,7 +2173,7 @@ define void @test_scatter_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> % ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_scatter_16i32: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; SKX_32-NEXT: vpslld $31, %zmm1, %zmm1 ; SKX_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2185,7 +2185,7 @@ define void @test_scatter_16i32(<16 x i32*> %ptrs, <16 x i1> %mask, <16 x i32> % } define void @test_scatter_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> %src0) { ; KNL_64-LABEL: test_scatter_16i64: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2196,7 +2196,7 @@ define void @test_scatter_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> % ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_scatter_16i64: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: pushl %ebp ; KNL_32-NEXT: .cfi_def_cfa_offset 8 ; KNL_32-NEXT: .cfi_offset %ebp, -8 @@ -2218,7 +2218,7 @@ define void @test_scatter_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> % ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_scatter_16i64: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2229,7 +2229,7 @@ define void @test_scatter_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> % ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_scatter_16i64: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: pushl %ebp ; SKX_32-NEXT: .cfi_def_cfa_offset 8 ; SKX_32-NEXT: .cfi_offset %ebp, -8 @@ -2255,7 +2255,7 @@ define void @test_scatter_16i64(<16 x i64*> %ptrs, <16 x i1> %mask, <16 x i64> % declare void @llvm.masked.scatter.v16i64.v16p0i64(<16 x i64> %src0, <16 x i64*> %ptrs, i32, <16 x i1> %mask) define void @test_scatter_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x float> %src0) { ; KNL_64-LABEL: test_scatter_16f32: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2267,7 +2267,7 @@ define void @test_scatter_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x floa ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_scatter_16f32: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; KNL_32-NEXT: vpslld $31, %zmm1, %zmm1 ; KNL_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2276,7 +2276,7 @@ define void @test_scatter_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x floa ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_scatter_16f32: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2288,7 +2288,7 @@ define void @test_scatter_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x floa ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_scatter_16f32: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpmovsxbd %xmm1, %zmm1 ; SKX_32-NEXT: vpslld $31, %zmm1, %zmm1 ; SKX_32-NEXT: vptestmd %zmm1, %zmm1, %k1 @@ -2301,7 +2301,7 @@ define void @test_scatter_16f32(<16 x float*> %ptrs, <16 x i1> %mask, <16 x floa declare void @llvm.masked.scatter.v16f32.v16p0f32(<16 x float> %src0, <16 x float*> %ptrs, i32, <16 x i1> %mask) define void @test_scatter_16f64(<16 x double*> %ptrs, <16 x i1> %mask, <16 x double> %src0) { ; KNL_64-LABEL: test_scatter_16f64: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbd %xmm2, %zmm2 ; KNL_64-NEXT: vpslld $31, %zmm2, %zmm2 ; KNL_64-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2312,7 +2312,7 @@ define void @test_scatter_16f64(<16 x double*> %ptrs, <16 x i1> %mask, <16 x dou ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_scatter_16f64: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: pushl %ebp ; KNL_32-NEXT: .cfi_def_cfa_offset 8 ; KNL_32-NEXT: .cfi_offset %ebp, -8 @@ -2334,7 +2334,7 @@ define void @test_scatter_16f64(<16 x double*> %ptrs, <16 x i1> %mask, <16 x dou ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_scatter_16f64: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbd %xmm2, %zmm2 ; SKX-NEXT: vpslld $31, %zmm2, %zmm2 ; SKX-NEXT: vptestmd %zmm2, %zmm2, %k1 @@ -2345,7 +2345,7 @@ define void @test_scatter_16f64(<16 x double*> %ptrs, <16 x i1> %mask, <16 x dou ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_scatter_16f64: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: pushl %ebp ; SKX_32-NEXT: .cfi_def_cfa_offset 8 ; SKX_32-NEXT: .cfi_offset %ebp, -8 @@ -2372,7 +2372,7 @@ declare void @llvm.masked.scatter.v16f64.v16p0f64(<16 x double> %src0, <16 x dou define <4 x i64> @test_pr28312(<4 x i64*> %p1, <4 x i1> %k, <4 x i1> %k2,<4 x i64> %d) { ; KNL_64-LABEL: test_pr28312: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %ymm0<def> %ymm0<kill> %zmm0<def> ; KNL_64-NEXT: vpslld $31, %xmm1, %xmm1 ; KNL_64-NEXT: vpsrad $31, %xmm1, %xmm1 @@ -2386,7 +2386,7 @@ define <4 x i64> @test_pr28312(<4 x i64*> %p1, <4 x i1> %k, <4 x i1> %k2,<4 x i6 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_pr28312: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: pushl %ebp ; KNL_32-NEXT: .cfi_def_cfa_offset 8 ; KNL_32-NEXT: .cfi_offset %ebp, -8 @@ -2410,7 +2410,7 @@ define <4 x i64> @test_pr28312(<4 x i64*> %p1, <4 x i1> %k, <4 x i1> %k2,<4 x i6 ; KNL_32-NEXT: retl ; ; SKX-LABEL: test_pr28312: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpslld $31, %xmm1, %xmm1 ; SKX-NEXT: vptestmd %xmm1, %xmm1, %k1 ; SKX-NEXT: vpgatherqq (,%ymm0), %ymm1 {%k1} @@ -2419,7 +2419,7 @@ define <4 x i64> @test_pr28312(<4 x i64*> %p1, <4 x i1> %k, <4 x i1> %k2,<4 x i6 ; SKX-NEXT: retq ; ; SKX_32-LABEL: test_pr28312: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: pushl %ebp ; SKX_32-NEXT: .cfi_def_cfa_offset 8 ; SKX_32-NEXT: .cfi_offset %ebp, -8 @@ -2446,28 +2446,28 @@ declare <4 x i64> @llvm.masked.gather.v4i64.v4p0i64(<4 x i64*>, i32, <4 x i1>, < define <8 x i32> @test_global_array(<8 x i64> %indxs) { ; KNL_64-LABEL: test_global_array: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: kxnorw %k0, %k0, %k1 ; KNL_64-NEXT: vpgatherqd glob_array(,%zmm0,4), %ymm1 {%k1} ; KNL_64-NEXT: vmovdqa %ymm1, %ymm0 ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: test_global_array: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: kxnorw %k0, %k0, %k1 ; KNL_32-NEXT: vpgatherqd glob_array(,%zmm0,4), %ymm1 {%k1} ; KNL_32-NEXT: vmovdqa %ymm1, %ymm0 ; KNL_32-NEXT: retl ; ; SKX_SMALL-LABEL: test_global_array: -; SKX_SMALL: # BB#0: +; SKX_SMALL: # %bb.0: ; SKX_SMALL-NEXT: kxnorw %k0, %k0, %k1 ; SKX_SMALL-NEXT: vpgatherqd glob_array(,%zmm0,4), %ymm1 {%k1} ; SKX_SMALL-NEXT: vmovdqa %ymm1, %ymm0 ; SKX_SMALL-NEXT: retq ; ; SKX_LARGE-LABEL: test_global_array: -; SKX_LARGE: # BB#0: +; SKX_LARGE: # %bb.0: ; SKX_LARGE-NEXT: movabsq $glob_array, %rax ; SKX_LARGE-NEXT: kxnorw %k0, %k0, %k1 ; SKX_LARGE-NEXT: vpgatherqd (%rax,%zmm0,4), %ymm1 {%k1} @@ -2475,7 +2475,7 @@ define <8 x i32> @test_global_array(<8 x i64> %indxs) { ; SKX_LARGE-NEXT: retq ; ; SKX_32-LABEL: test_global_array: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: kxnorw %k0, %k0, %k1 ; SKX_32-NEXT: vpgatherqd glob_array(,%zmm0,4), %ymm1 {%k1} ; SKX_32-NEXT: vmovdqa %ymm1, %ymm0 @@ -2487,20 +2487,20 @@ define <8 x i32> @test_global_array(<8 x i64> %indxs) { define void @v1_scatter(<1 x i32>%a1, <1 x i32*> %ptr, <1 x i1> %mask) { ; KNL_64-LABEL: v1_scatter: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: testb $1, %dl ; KNL_64-NEXT: jne .LBB43_1 -; KNL_64-NEXT: # BB#2: # %else +; KNL_64-NEXT: # %bb.2: # %else ; KNL_64-NEXT: retq ; KNL_64-NEXT: .LBB43_1: # %cond.store ; KNL_64-NEXT: movl %edi, (%rsi) ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: v1_scatter: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: testb $1, {{[0-9]+}}(%esp) ; KNL_32-NEXT: jne .LBB43_1 -; KNL_32-NEXT: # BB#2: # %else +; KNL_32-NEXT: # %bb.2: # %else ; KNL_32-NEXT: retl ; KNL_32-NEXT: .LBB43_1: # %cond.store ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -2509,20 +2509,20 @@ define void @v1_scatter(<1 x i32>%a1, <1 x i32*> %ptr, <1 x i1> %mask) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: v1_scatter: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: testb $1, %dl ; SKX-NEXT: jne .LBB43_1 -; SKX-NEXT: # BB#2: # %else +; SKX-NEXT: # %bb.2: # %else ; SKX-NEXT: retq ; SKX-NEXT: .LBB43_1: # %cond.store ; SKX-NEXT: movl %edi, (%rsi) ; SKX-NEXT: retq ; ; SKX_32-LABEL: v1_scatter: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: testb $1, {{[0-9]+}}(%esp) ; SKX_32-NEXT: jne .LBB43_1 -; SKX_32-NEXT: # BB#2: # %else +; SKX_32-NEXT: # %bb.2: # %else ; SKX_32-NEXT: retl ; SKX_32-NEXT: .LBB43_1: # %cond.store ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -2536,23 +2536,23 @@ declare void @llvm.masked.scatter.v1i32.v1p0i32(<1 x i32>, <1 x i32*>, i32, <1 x define <1 x i32> @v1_gather(<1 x i32*> %ptr, <1 x i1> %mask, <1 x i32> %src0) { ; KNL_64-LABEL: v1_gather: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: movl (%rdi), %eax ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: v1_gather: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: movl (%eax), %eax ; KNL_32-NEXT: retl ; ; SKX-LABEL: v1_gather: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: movl (%rdi), %eax ; SKX-NEXT: retq ; ; SKX_32-LABEL: v1_gather: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: movl (%eax), %eax ; SKX_32-NEXT: retl @@ -2565,7 +2565,7 @@ declare <1 x i32> @llvm.masked.gather.v1i32.v1p0i32(<1 x i32*>, i32, <1 x i1>, < ; This experienced a bad interaction when we widened and then tried to split. define <2 x float> @large_index(float* %base, <2 x i128> %ind, <2 x i1> %mask, <2 x float> %src0) { ; KNL_64-LABEL: large_index: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; KNL_64-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,2],zero,zero ; KNL_64-NEXT: vmovaps %xmm0, %xmm0 @@ -2580,7 +2580,7 @@ define <2 x float> @large_index(float* %base, <2 x i128> %ind, <2 x i1> %mask, < ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: large_index: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: # kill: %xmm1<def> %xmm1<kill> %ymm1<def> ; KNL_32-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,2],zero,zero ; KNL_32-NEXT: vmovaps %xmm0, %xmm0 @@ -2597,7 +2597,7 @@ define <2 x float> @large_index(float* %base, <2 x i128> %ind, <2 x i1> %mask, < ; KNL_32-NEXT: retl ; ; SKX-LABEL: large_index: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpsllq $63, %xmm0, %xmm0 ; SKX-NEXT: vptestmq %xmm0, %xmm0, %k1 ; SKX-NEXT: vmovq %rcx, %xmm0 @@ -2608,7 +2608,7 @@ define <2 x float> @large_index(float* %base, <2 x i128> %ind, <2 x i1> %mask, < ; SKX-NEXT: retq ; ; SKX_32-LABEL: large_index: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpsllq $63, %xmm0, %xmm0 ; SKX_32-NEXT: vptestmq %xmm0, %xmm0, %k1 ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax @@ -2627,7 +2627,7 @@ define <2 x float> @large_index(float* %base, <2 x i128> %ind, <2 x i1> %mask, < ; Make sure we allow index to be sign extended from a smaller than i32 element size. define <16 x float> @sext_i8_index(float* %base, <16 x i8> %ind) { ; KNL_64-LABEL: sext_i8_index: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovsxbw %xmm0, %ymm0 ; KNL_64-NEXT: vpmovsxwq %xmm0, %zmm1 ; KNL_64-NEXT: vextracti128 $1, %ymm0, %xmm0 @@ -2640,7 +2640,7 @@ define <16 x float> @sext_i8_index(float* %base, <16 x i8> %ind) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: sext_i8_index: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpmovsxbw %xmm0, %ymm0 ; KNL_32-NEXT: vpmovsxwq %xmm0, %zmm1 @@ -2654,7 +2654,7 @@ define <16 x float> @sext_i8_index(float* %base, <16 x i8> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: sext_i8_index: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovsxbw %xmm0, %ymm0 ; SKX-NEXT: vpmovsxwq %xmm0, %zmm1 ; SKX-NEXT: vextracti128 $1, %ymm0, %xmm0 @@ -2667,7 +2667,7 @@ define <16 x float> @sext_i8_index(float* %base, <16 x i8> %ind) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: sext_i8_index: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: vpmovsxbw %xmm0, %ymm0 ; SKX_32-NEXT: vpmovsxwq %xmm0, %zmm1 @@ -2690,7 +2690,7 @@ define <16 x float> @sext_i8_index(float* %base, <16 x i8> %ind) { ; Make sure we allow index to be sign extended from a smaller than i32 element size. define <8 x float> @sext_v8i8_index(float* %base, <8 x i8> %ind) { ; KNL_64-LABEL: sext_v8i8_index: -; KNL_64: # BB#0: +; KNL_64: # %bb.0: ; KNL_64-NEXT: vpmovzxwq {{.*#+}} zmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero ; KNL_64-NEXT: vpsllq $56, %zmm0, %zmm0 ; KNL_64-NEXT: vpsraq $56, %zmm0, %zmm1 @@ -2699,7 +2699,7 @@ define <8 x float> @sext_v8i8_index(float* %base, <8 x i8> %ind) { ; KNL_64-NEXT: retq ; ; KNL_32-LABEL: sext_v8i8_index: -; KNL_32: # BB#0: +; KNL_32: # %bb.0: ; KNL_32-NEXT: vpmovzxwq {{.*#+}} zmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero ; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; KNL_32-NEXT: vpsllq $56, %zmm0, %zmm0 @@ -2709,7 +2709,7 @@ define <8 x float> @sext_v8i8_index(float* %base, <8 x i8> %ind) { ; KNL_32-NEXT: retl ; ; SKX-LABEL: sext_v8i8_index: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vpmovzxwq {{.*#+}} zmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero ; SKX-NEXT: vpsllq $56, %zmm0, %zmm0 ; SKX-NEXT: vpsraq $56, %zmm0, %zmm1 @@ -2718,7 +2718,7 @@ define <8 x float> @sext_v8i8_index(float* %base, <8 x i8> %ind) { ; SKX-NEXT: retq ; ; SKX_32-LABEL: sext_v8i8_index: -; SKX_32: # BB#0: +; SKX_32: # %bb.0: ; SKX_32-NEXT: vpmovzxwq {{.*#+}} zmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax ; SKX_32-NEXT: vpsllq $56, %zmm0, %zmm0 |