diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/vector-shift-ashr-128.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/vector-shift-ashr-128.ll | 248 |
1 files changed, 124 insertions, 124 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shift-ashr-128.ll b/llvm/test/CodeGen/X86/vector-shift-ashr-128.ll index 3cfe0003807..a37b8602459 100644 --- a/llvm/test/CodeGen/X86/vector-shift-ashr-128.ll +++ b/llvm/test/CodeGen/X86/vector-shift-ashr-128.ll @@ -19,7 +19,7 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; SSE2-LABEL: var_shift_v2i64: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; SSE2-NEXT: movdqa %xmm2, %xmm3 ; SSE2-NEXT: psrlq %xmm1, %xmm3 @@ -35,7 +35,7 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: var_shift_v2i64: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; SSE41-NEXT: movdqa %xmm2, %xmm3 ; SSE41-NEXT: psrlq %xmm1, %xmm3 @@ -51,7 +51,7 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: var_shift_v2i64: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; AVX1-NEXT: vpsrlq %xmm1, %xmm2, %xmm3 ; AVX1-NEXT: vpshufd {{.*#+}} xmm4 = xmm1[2,3,0,1] @@ -65,7 +65,7 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: var_shift_v2i64: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; AVX2-NEXT: vpsrlvq %xmm1, %xmm2, %xmm3 ; AVX2-NEXT: vpxor %xmm2, %xmm0, %xmm0 @@ -74,14 +74,14 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; AVX2-NEXT: retq ; ; XOP-LABEL: var_shift_v2i64: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOP-NEXT: vpsubq %xmm1, %xmm2, %xmm1 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: var_shift_v2i64: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512-NEXT: vpsravq %zmm1, %zmm0, %zmm0 @@ -90,12 +90,12 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: var_shift_v2i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsravq %xmm1, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: var_shift_v2i64: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [0,2147483648,0,2147483648] ; X32-SSE-NEXT: movdqa %xmm2, %xmm3 ; X32-SSE-NEXT: psrlq %xmm1, %xmm3 @@ -115,7 +115,7 @@ define <2 x i64> @var_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { define <4 x i32> @var_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { ; SSE2-LABEL: var_shift_v4i32: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa %xmm1, %xmm2 ; SSE2-NEXT: psrlq $32, %xmm2 ; SSE2-NEXT: movdqa %xmm0, %xmm3 @@ -139,7 +139,7 @@ define <4 x i32> @var_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: var_shift_v4i32: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm1, %xmm2 ; SSE41-NEXT: psrldq {{.*#+}} xmm2 = xmm2[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero ; SSE41-NEXT: movdqa %xmm0, %xmm3 @@ -160,7 +160,7 @@ define <4 x i32> @var_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: var_shift_v4i32: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsrldq {{.*#+}} xmm2 = xmm1[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero ; AVX1-NEXT: vpsrad %xmm2, %xmm0, %xmm2 ; AVX1-NEXT: vpsrlq $32, %xmm1, %xmm3 @@ -176,34 +176,34 @@ define <4 x i32> @var_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: var_shift_v4i32: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpsravd %xmm1, %xmm0, %xmm0 ; AVX2-NEXT: retq ; ; XOPAVX1-LABEL: var_shift_v4i32: -; XOPAVX1: # BB#0: +; XOPAVX1: # %bb.0: ; XOPAVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOPAVX1-NEXT: vpsubd %xmm1, %xmm2, %xmm1 ; XOPAVX1-NEXT: vpshad %xmm1, %xmm0, %xmm0 ; XOPAVX1-NEXT: retq ; ; XOPAVX2-LABEL: var_shift_v4i32: -; XOPAVX2: # BB#0: +; XOPAVX2: # %bb.0: ; XOPAVX2-NEXT: vpsravd %xmm1, %xmm0, %xmm0 ; XOPAVX2-NEXT: retq ; ; AVX512-LABEL: var_shift_v4i32: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpsravd %xmm1, %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: var_shift_v4i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsravd %xmm1, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: var_shift_v4i32: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa %xmm1, %xmm2 ; X32-SSE-NEXT: psrlq $32, %xmm2 ; X32-SSE-NEXT: movdqa %xmm0, %xmm3 @@ -231,7 +231,7 @@ define <4 x i32> @var_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; SSE2-LABEL: var_shift_v8i16: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: psllw $12, %xmm1 ; SSE2-NEXT: movdqa %xmm1, %xmm2 ; SSE2-NEXT: psraw $15, %xmm2 @@ -266,7 +266,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: var_shift_v8i16: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm2 ; SSE41-NEXT: movdqa %xmm1, %xmm0 ; SSE41-NEXT: psllw $12, %xmm0 @@ -296,7 +296,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: var_shift_v8i16: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsllw $12, %xmm1, %xmm2 ; AVX1-NEXT: vpsllw $4, %xmm1, %xmm1 ; AVX1-NEXT: vpor %xmm2, %xmm1, %xmm1 @@ -314,7 +314,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: var_shift_v8i16: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX2-NEXT: vpsravd %ymm1, %ymm0, %ymm0 @@ -324,14 +324,14 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; AVX2-NEXT: retq ; ; XOP-LABEL: var_shift_v8i16: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOP-NEXT: vpsubw %xmm1, %xmm2, %xmm1 ; XOP-NEXT: vpshaw %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512DQ-LABEL: var_shift_v8i16: -; AVX512DQ: # BB#0: +; AVX512DQ: # %bb.0: ; AVX512DQ-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero ; AVX512DQ-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX512DQ-NEXT: vpsravd %ymm1, %ymm0, %ymm0 @@ -341,7 +341,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; AVX512DQ-NEXT: retq ; ; AVX512BW-LABEL: var_shift_v8i16: -; AVX512BW: # BB#0: +; AVX512BW: # %bb.0: ; AVX512BW-NEXT: # kill: %xmm1<def> %xmm1<kill> %zmm1<def> ; AVX512BW-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512BW-NEXT: vpsravw %zmm1, %zmm0, %zmm0 @@ -350,7 +350,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; AVX512BW-NEXT: retq ; ; AVX512DQVL-LABEL: var_shift_v8i16: -; AVX512DQVL: # BB#0: +; AVX512DQVL: # %bb.0: ; AVX512DQVL-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero ; AVX512DQVL-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX512DQVL-NEXT: vpsravd %ymm1, %ymm0, %ymm0 @@ -359,12 +359,12 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; AVX512DQVL-NEXT: retq ; ; AVX512BWVL-LABEL: var_shift_v8i16: -; AVX512BWVL: # BB#0: +; AVX512BWVL: # %bb.0: ; AVX512BWVL-NEXT: vpsravw %xmm1, %xmm0, %xmm0 ; AVX512BWVL-NEXT: retq ; ; X32-SSE-LABEL: var_shift_v8i16: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: psllw $12, %xmm1 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2 ; X32-SSE-NEXT: psraw $15, %xmm2 @@ -403,7 +403,7 @@ define <8 x i16> @var_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE2-LABEL: var_shift_v16i8: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm0[8],xmm2[9],xmm0[9],xmm2[10],xmm0[10],xmm2[11],xmm0[11],xmm2[12],xmm0[12],xmm2[13],xmm0[13],xmm2[14],xmm0[14],xmm2[15],xmm0[15] ; SSE2-NEXT: psllw $5, %xmm1 ; SSE2-NEXT: punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15] @@ -461,7 +461,7 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: var_shift_v16i8: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm2 ; SSE41-NEXT: psllw $5, %xmm1 ; SSE41-NEXT: punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15] @@ -497,7 +497,7 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE41-NEXT: retq ; ; AVX-LABEL: var_shift_v16i8: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsllw $5, %xmm1, %xmm1 ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15] ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15] @@ -525,14 +525,14 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX-NEXT: retq ; ; XOP-LABEL: var_shift_v16i8: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOP-NEXT: vpsubb %xmm1, %xmm2, %xmm1 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: var_shift_v16i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpmovzxbd {{.*#+}} zmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero,xmm1[8],zero,zero,zero,xmm1[9],zero,zero,zero,xmm1[10],zero,zero,zero,xmm1[11],zero,zero,zero,xmm1[12],zero,zero,zero,xmm1[13],zero,zero,zero,xmm1[14],zero,zero,zero,xmm1[15],zero,zero,zero ; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512-NEXT: vpsravd %zmm1, %zmm0, %zmm0 @@ -541,7 +541,7 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: var_shift_v16i8: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpmovzxbd {{.*#+}} zmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero,xmm1[8],zero,zero,zero,xmm1[9],zero,zero,zero,xmm1[10],zero,zero,zero,xmm1[11],zero,zero,zero,xmm1[12],zero,zero,zero,xmm1[13],zero,zero,zero,xmm1[14],zero,zero,zero,xmm1[15],zero,zero,zero ; AVX512VL-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512VL-NEXT: vpsravd %zmm1, %zmm0, %zmm0 @@ -550,7 +550,7 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: var_shift_v16i8: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm0[8],xmm2[9],xmm0[9],xmm2[10],xmm0[10],xmm2[11],xmm0[11],xmm2[12],xmm0[12],xmm2[13],xmm0[13],xmm2[14],xmm0[14],xmm2[15],xmm0[15] ; X32-SSE-NEXT: psllw $5, %xmm1 ; X32-SSE-NEXT: punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15] @@ -616,7 +616,7 @@ define <16 x i8> @var_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; SSE-LABEL: splatvar_shift_v2i64: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; SSE-NEXT: psrlq %xmm1, %xmm2 ; SSE-NEXT: psrlq %xmm1, %xmm0 @@ -625,7 +625,7 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; SSE-NEXT: retq ; ; AVX-LABEL: splatvar_shift_v2i64: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [9223372036854775808,9223372036854775808] ; AVX-NEXT: vpsrlq %xmm1, %xmm2, %xmm2 ; AVX-NEXT: vpsrlq %xmm1, %xmm0, %xmm0 @@ -634,7 +634,7 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; AVX-NEXT: retq ; ; XOPAVX1-LABEL: splatvar_shift_v2i64: -; XOPAVX1: # BB#0: +; XOPAVX1: # %bb.0: ; XOPAVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1] ; XOPAVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOPAVX1-NEXT: vpsubq %xmm1, %xmm2, %xmm1 @@ -642,7 +642,7 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; XOPAVX1-NEXT: retq ; ; XOPAVX2-LABEL: splatvar_shift_v2i64: -; XOPAVX2: # BB#0: +; XOPAVX2: # %bb.0: ; XOPAVX2-NEXT: vpbroadcastq %xmm1, %xmm1 ; XOPAVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOPAVX2-NEXT: vpsubq %xmm1, %xmm2, %xmm1 @@ -650,7 +650,7 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; XOPAVX2-NEXT: retq ; ; AVX512-LABEL: splatvar_shift_v2i64: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512-NEXT: vpsraq %xmm1, %zmm0, %zmm0 ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<kill> @@ -658,12 +658,12 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatvar_shift_v2i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsraq %xmm1, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatvar_shift_v2i64: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [0,2147483648,0,2147483648] ; X32-SSE-NEXT: psrlq %xmm1, %xmm2 ; X32-SSE-NEXT: psrlq %xmm1, %xmm0 @@ -677,44 +677,44 @@ define <2 x i64> @splatvar_shift_v2i64(<2 x i64> %a, <2 x i64> %b) nounwind { define <4 x i32> @splatvar_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { ; SSE2-LABEL: splatvar_shift_v4i32: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: xorps %xmm2, %xmm2 ; SSE2-NEXT: movss {{.*#+}} xmm2 = xmm1[0],xmm2[1,2,3] ; SSE2-NEXT: psrad %xmm2, %xmm0 ; SSE2-NEXT: retq ; ; SSE41-LABEL: splatvar_shift_v4i32: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: pmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero ; SSE41-NEXT: psrad %xmm1, %xmm0 ; SSE41-NEXT: retq ; ; AVX-LABEL: splatvar_shift_v4i32: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero ; AVX-NEXT: vpsrad %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq ; ; XOP-LABEL: splatvar_shift_v4i32: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero ; XOP-NEXT: vpsrad %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatvar_shift_v4i32: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero ; AVX512-NEXT: vpsrad %xmm1, %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatvar_shift_v4i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero ; AVX512VL-NEXT: vpsrad %xmm1, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatvar_shift_v4i32: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: xorps %xmm2, %xmm2 ; X32-SSE-NEXT: movss {{.*#+}} xmm2 = xmm1[0],xmm2[1,2,3] ; X32-SSE-NEXT: psrad %xmm2, %xmm0 @@ -726,44 +726,44 @@ define <4 x i32> @splatvar_shift_v4i32(<4 x i32> %a, <4 x i32> %b) nounwind { define <8 x i16> @splatvar_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { ; SSE2-LABEL: splatvar_shift_v8i16: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: pextrw $0, %xmm1, %eax ; SSE2-NEXT: movd %eax, %xmm1 ; SSE2-NEXT: psraw %xmm1, %xmm0 ; SSE2-NEXT: retq ; ; SSE41-LABEL: splatvar_shift_v8i16: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: pmovzxwq {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero ; SSE41-NEXT: psraw %xmm1, %xmm0 ; SSE41-NEXT: retq ; ; AVX-LABEL: splatvar_shift_v8i16: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmovzxwq {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero ; AVX-NEXT: vpsraw %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq ; ; XOP-LABEL: splatvar_shift_v8i16: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpmovzxwq {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero ; XOP-NEXT: vpsraw %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatvar_shift_v8i16: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpmovzxwq {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero ; AVX512-NEXT: vpsraw %xmm1, %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatvar_shift_v8i16: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpmovzxwq {{.*#+}} xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero ; AVX512VL-NEXT: vpsraw %xmm1, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatvar_shift_v8i16: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: pextrw $0, %xmm1, %eax ; X32-SSE-NEXT: movd %eax, %xmm1 ; X32-SSE-NEXT: psraw %xmm1, %xmm0 @@ -775,7 +775,7 @@ define <8 x i16> @splatvar_shift_v8i16(<8 x i16> %a, <8 x i16> %b) nounwind { define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE2-LABEL: splatvar_shift_v16i8: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7] ; SSE2-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7] ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm1[0,0,1,1] @@ -836,7 +836,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: splatvar_shift_v16i8: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm2 ; SSE41-NEXT: pxor %xmm0, %xmm0 ; SSE41-NEXT: pshufb %xmm0, %xmm1 @@ -874,7 +874,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: splatvar_shift_v16i8: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1 ; AVX1-NEXT: vpsllw $5, %xmm1, %xmm1 @@ -904,7 +904,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: splatvar_shift_v16i8: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpbroadcastb %xmm1, %xmm1 ; AVX2-NEXT: vpsllw $5, %xmm1, %xmm1 ; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15] @@ -933,7 +933,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX2-NEXT: retq ; ; XOPAVX1-LABEL: splatvar_shift_v16i8: -; XOPAVX1: # BB#0: +; XOPAVX1: # %bb.0: ; XOPAVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOPAVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1 ; XOPAVX1-NEXT: vpsubb %xmm1, %xmm2, %xmm1 @@ -941,7 +941,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; XOPAVX1-NEXT: retq ; ; XOPAVX2-LABEL: splatvar_shift_v16i8: -; XOPAVX2: # BB#0: +; XOPAVX2: # %bb.0: ; XOPAVX2-NEXT: vpbroadcastb %xmm1, %xmm1 ; XOPAVX2-NEXT: vpxor %xmm2, %xmm2, %xmm2 ; XOPAVX2-NEXT: vpsubb %xmm1, %xmm2, %xmm1 @@ -949,7 +949,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; XOPAVX2-NEXT: retq ; ; AVX512-LABEL: splatvar_shift_v16i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpbroadcastb %xmm1, %xmm1 ; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512-NEXT: vpmovzxbd {{.*#+}} zmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero,xmm1[8],zero,zero,zero,xmm1[9],zero,zero,zero,xmm1[10],zero,zero,zero,xmm1[11],zero,zero,zero,xmm1[12],zero,zero,zero,xmm1[13],zero,zero,zero,xmm1[14],zero,zero,zero,xmm1[15],zero,zero,zero @@ -959,7 +959,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatvar_shift_v16i8: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpbroadcastb %xmm1, %xmm1 ; AVX512VL-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512VL-NEXT: vpmovzxbd {{.*#+}} zmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero,xmm1[4],zero,zero,zero,xmm1[5],zero,zero,zero,xmm1[6],zero,zero,zero,xmm1[7],zero,zero,zero,xmm1[8],zero,zero,zero,xmm1[9],zero,zero,zero,xmm1[10],zero,zero,zero,xmm1[11],zero,zero,zero,xmm1[12],zero,zero,zero,xmm1[13],zero,zero,zero,xmm1[14],zero,zero,zero,xmm1[15],zero,zero,zero @@ -969,7 +969,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatvar_shift_v16i8: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7] ; X32-SSE-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7] ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[0,0,1,1] @@ -1039,7 +1039,7 @@ define <16 x i8> @splatvar_shift_v16i8(<16 x i8> %a, <16 x i8> %b) nounwind { define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE2-LABEL: constant_shift_v2i64: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa %xmm0, %xmm1 ; SSE2-NEXT: psrlq $1, %xmm1 ; SSE2-NEXT: psrlq $7, %xmm0 @@ -1050,7 +1050,7 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: constant_shift_v2i64: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm1 ; SSE41-NEXT: psrlq $7, %xmm1 ; SSE41-NEXT: psrlq $1, %xmm0 @@ -1061,7 +1061,7 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: constant_shift_v2i64: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsrlq $7, %xmm0, %xmm1 ; AVX1-NEXT: vpsrlq $1, %xmm0, %xmm0 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7] @@ -1071,7 +1071,7 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: constant_shift_v2i64: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpsrlvq {{.*}}(%rip), %xmm0, %xmm0 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm1 = [4611686018427387904,72057594037927936] ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0 @@ -1079,14 +1079,14 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; AVX2-NEXT: retq ; ; XOP-LABEL: constant_shift_v2i64: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; XOP-NEXT: vpsubq {{.*}}(%rip), %xmm1, %xmm1 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: constant_shift_v2i64: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512-NEXT: vmovdqa {{.*#+}} xmm1 = [1,7] ; AVX512-NEXT: vpsravq %zmm1, %zmm0, %zmm0 @@ -1095,12 +1095,12 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: constant_shift_v2i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsravq {{.*}}(%rip), %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: constant_shift_v2i64: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [0,2147483648,0,2147483648] ; X32-SSE-NEXT: movdqa %xmm1, %xmm2 ; X32-SSE-NEXT: psrlq $1, %xmm2 @@ -1119,7 +1119,7 @@ define <2 x i64> @constant_shift_v2i64(<2 x i64> %a) nounwind { define <4 x i32> @constant_shift_v4i32(<4 x i32> %a) nounwind { ; SSE2-LABEL: constant_shift_v4i32: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa %xmm0, %xmm1 ; SSE2-NEXT: psrad $5, %xmm1 ; SSE2-NEXT: movdqa %xmm0, %xmm2 @@ -1135,7 +1135,7 @@ define <4 x i32> @constant_shift_v4i32(<4 x i32> %a) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: constant_shift_v4i32: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm1 ; SSE41-NEXT: psrad $7, %xmm1 ; SSE41-NEXT: movdqa %xmm0, %xmm2 @@ -1149,7 +1149,7 @@ define <4 x i32> @constant_shift_v4i32(<4 x i32> %a) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: constant_shift_v4i32: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsrad $7, %xmm0, %xmm1 ; AVX1-NEXT: vpsrad $5, %xmm0, %xmm2 ; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3],xmm1[4,5,6,7] @@ -1160,32 +1160,32 @@ define <4 x i32> @constant_shift_v4i32(<4 x i32> %a) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: constant_shift_v4i32: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0 ; AVX2-NEXT: retq ; ; XOPAVX1-LABEL: constant_shift_v4i32: -; XOPAVX1: # BB#0: +; XOPAVX1: # %bb.0: ; XOPAVX1-NEXT: vpshad {{.*}}(%rip), %xmm0, %xmm0 ; XOPAVX1-NEXT: retq ; ; XOPAVX2-LABEL: constant_shift_v4i32: -; XOPAVX2: # BB#0: +; XOPAVX2: # %bb.0: ; XOPAVX2-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0 ; XOPAVX2-NEXT: retq ; ; AVX512-LABEL: constant_shift_v4i32: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: constant_shift_v4i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: constant_shift_v4i32: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa %xmm0, %xmm1 ; X32-SSE-NEXT: psrad $5, %xmm1 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2 @@ -1205,7 +1205,7 @@ define <4 x i32> @constant_shift_v4i32(<4 x i32> %a) nounwind { define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; SSE2-LABEL: constant_shift_v8i16: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa %xmm0, %xmm1 ; SSE2-NEXT: psraw $4, %xmm1 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1] @@ -1222,7 +1222,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: constant_shift_v8i16: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm1 ; SSE41-NEXT: psraw $4, %xmm1 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm0[0,1,2,3],xmm1[4,5,6,7] @@ -1235,7 +1235,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: constant_shift_v8i16: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsraw $4, %xmm0, %xmm1 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7] ; AVX1-NEXT: vpsraw $2, %xmm0, %xmm1 @@ -1245,7 +1245,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; AVX1-NEXT: retq ; ; AVX2-LABEL: constant_shift_v8i16: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX2-NEXT: vpsravd {{.*}}(%rip), %ymm0, %ymm0 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1 @@ -1254,14 +1254,14 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; AVX2-NEXT: retq ; ; XOP-LABEL: constant_shift_v8i16: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; XOP-NEXT: vpsubw {{.*}}(%rip), %xmm1, %xmm1 ; XOP-NEXT: vpshaw %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512DQ-LABEL: constant_shift_v8i16: -; AVX512DQ: # BB#0: +; AVX512DQ: # %bb.0: ; AVX512DQ-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX512DQ-NEXT: vpsravd {{.*}}(%rip), %ymm0, %ymm0 ; AVX512DQ-NEXT: vpmovdw %zmm0, %ymm0 @@ -1270,7 +1270,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; AVX512DQ-NEXT: retq ; ; AVX512BW-LABEL: constant_shift_v8i16: -; AVX512BW: # BB#0: +; AVX512BW: # %bb.0: ; AVX512BW-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512BW-NEXT: vmovdqa {{.*#+}} xmm1 = [0,1,2,3,4,5,6,7] ; AVX512BW-NEXT: vpsravw %zmm1, %zmm0, %zmm0 @@ -1279,7 +1279,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; AVX512BW-NEXT: retq ; ; AVX512DQVL-LABEL: constant_shift_v8i16: -; AVX512DQVL: # BB#0: +; AVX512DQVL: # %bb.0: ; AVX512DQVL-NEXT: vpmovsxwd %xmm0, %ymm0 ; AVX512DQVL-NEXT: vpsravd {{.*}}(%rip), %ymm0, %ymm0 ; AVX512DQVL-NEXT: vpmovdw %ymm0, %xmm0 @@ -1287,12 +1287,12 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { ; AVX512DQVL-NEXT: retq ; ; AVX512BWVL-LABEL: constant_shift_v8i16: -; AVX512BWVL: # BB#0: +; AVX512BWVL: # %bb.0: ; AVX512BWVL-NEXT: vpsravw {{.*}}(%rip), %xmm0, %xmm0 ; AVX512BWVL-NEXT: retq ; ; X32-SSE-LABEL: constant_shift_v8i16: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa %xmm0, %xmm1 ; X32-SSE-NEXT: psraw $4, %xmm1 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1] @@ -1313,7 +1313,7 @@ define <8 x i16> @constant_shift_v8i16(<8 x i16> %a) nounwind { define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; SSE2-LABEL: constant_shift_v16i8: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15] ; SSE2-NEXT: movdqa {{.*#+}} xmm3 = [8192,24640,41088,57536,49376,32928,16480,32] ; SSE2-NEXT: punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm3[8],xmm4[9],xmm3[9],xmm4[10],xmm3[10],xmm4[11],xmm3[11],xmm4[12],xmm3[12],xmm4[13],xmm3[13],xmm4[14],xmm3[14],xmm4[15],xmm3[15] @@ -1371,7 +1371,7 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: constant_shift_v16i8: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm1 ; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [8192,24640,41088,57536,49376,32928,16480,32] ; SSE41-NEXT: punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm3[8],xmm0[9],xmm3[9],xmm0[10],xmm3[10],xmm0[11],xmm3[11],xmm0[12],xmm3[12],xmm0[13],xmm3[13],xmm0[14],xmm3[14],xmm0[15],xmm3[15] @@ -1407,7 +1407,7 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; SSE41-NEXT: retq ; ; AVX-LABEL: constant_shift_v16i8: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [8192,24640,41088,57536,49376,32928,16480,32] ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15] ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15] @@ -1435,14 +1435,14 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX-NEXT: retq ; ; XOP-LABEL: constant_shift_v16i8: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; XOP-NEXT: vpsubb {{.*}}(%rip), %xmm1, %xmm1 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: constant_shift_v16i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512-NEXT: vpsravd {{.*}}(%rip), %zmm0, %zmm0 ; AVX512-NEXT: vpmovdb %zmm0, %xmm0 @@ -1450,7 +1450,7 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: constant_shift_v16i8: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpmovsxbd %xmm0, %zmm0 ; AVX512VL-NEXT: vpsravd {{.*}}(%rip), %zmm0, %zmm0 ; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0 @@ -1458,7 +1458,7 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: constant_shift_v16i8: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13],xmm0[13],xmm1[14],xmm0[14],xmm1[15],xmm0[15] ; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [8192,24640,41088,57536,49376,32928,16480,32] ; X32-SSE-NEXT: punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm3[8],xmm4[9],xmm3[9],xmm4[10],xmm3[10],xmm4[11],xmm3[11],xmm4[12],xmm3[12],xmm4[13],xmm3[13],xmm4[14],xmm3[14],xmm4[15],xmm3[15] @@ -1524,7 +1524,7 @@ define <16 x i8> @constant_shift_v16i8(<16 x i8> %a) nounwind { define <2 x i64> @splatconstant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE2-LABEL: splatconstant_shift_v2i64: -; SSE2: # BB#0: +; SSE2: # %bb.0: ; SSE2-NEXT: movdqa %xmm0, %xmm1 ; SSE2-NEXT: psrad $7, %xmm1 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3] @@ -1534,7 +1534,7 @@ define <2 x i64> @splatconstant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE2-NEXT: retq ; ; SSE41-LABEL: splatconstant_shift_v2i64: -; SSE41: # BB#0: +; SSE41: # %bb.0: ; SSE41-NEXT: movdqa %xmm0, %xmm1 ; SSE41-NEXT: psrad $7, %xmm1 ; SSE41-NEXT: psrlq $7, %xmm0 @@ -1542,28 +1542,28 @@ define <2 x i64> @splatconstant_shift_v2i64(<2 x i64> %a) nounwind { ; SSE41-NEXT: retq ; ; AVX1-LABEL: splatconstant_shift_v2i64: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vpsrad $7, %xmm0, %xmm1 ; AVX1-NEXT: vpsrlq $7, %xmm0, %xmm0 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7] ; AVX1-NEXT: retq ; ; AVX2-LABEL: splatconstant_shift_v2i64: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vpsrad $7, %xmm0, %xmm1 ; AVX2-NEXT: vpsrlq $7, %xmm0, %xmm0 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3] ; AVX2-NEXT: retq ; ; XOP-LABEL: splatconstant_shift_v2i64: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; XOP-NEXT: vpsubq {{.*}}(%rip), %xmm1, %xmm1 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatconstant_shift_v2i64: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<def> ; AVX512-NEXT: vpsraq $7, %zmm0, %zmm0 ; AVX512-NEXT: # kill: %xmm0<def> %xmm0<kill> %zmm0<kill> @@ -1571,12 +1571,12 @@ define <2 x i64> @splatconstant_shift_v2i64(<2 x i64> %a) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatconstant_shift_v2i64: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsraq $7, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatconstant_shift_v2i64: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: movdqa %xmm0, %xmm1 ; X32-SSE-NEXT: psrad $7, %xmm1 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3] @@ -1590,32 +1590,32 @@ define <2 x i64> @splatconstant_shift_v2i64(<2 x i64> %a) nounwind { define <4 x i32> @splatconstant_shift_v4i32(<4 x i32> %a) nounwind { ; SSE-LABEL: splatconstant_shift_v4i32: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: psrad $5, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: splatconstant_shift_v4i32: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsrad $5, %xmm0, %xmm0 ; AVX-NEXT: retq ; ; XOP-LABEL: splatconstant_shift_v4i32: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpsrad $5, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatconstant_shift_v4i32: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpsrad $5, %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatconstant_shift_v4i32: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsrad $5, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatconstant_shift_v4i32: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: psrad $5, %xmm0 ; X32-SSE-NEXT: retl %shift = ashr <4 x i32> %a, <i32 5, i32 5, i32 5, i32 5> @@ -1624,32 +1624,32 @@ define <4 x i32> @splatconstant_shift_v4i32(<4 x i32> %a) nounwind { define <8 x i16> @splatconstant_shift_v8i16(<8 x i16> %a) nounwind { ; SSE-LABEL: splatconstant_shift_v8i16: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: psraw $3, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: splatconstant_shift_v8i16: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsraw $3, %xmm0, %xmm0 ; AVX-NEXT: retq ; ; XOP-LABEL: splatconstant_shift_v8i16: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpsraw $3, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatconstant_shift_v8i16: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpsraw $3, %xmm0, %xmm0 ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatconstant_shift_v8i16: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsraw $3, %xmm0, %xmm0 ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatconstant_shift_v8i16: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: psraw $3, %xmm0 ; X32-SSE-NEXT: retl %shift = ashr <8 x i16> %a, <i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3> @@ -1658,7 +1658,7 @@ define <8 x i16> @splatconstant_shift_v8i16(<8 x i16> %a) nounwind { define <16 x i8> @splatconstant_shift_v16i8(<16 x i8> %a) nounwind { ; SSE-LABEL: splatconstant_shift_v16i8: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: psrlw $3, %xmm0 ; SSE-NEXT: pand {{.*}}(%rip), %xmm0 ; SSE-NEXT: movdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -1667,7 +1667,7 @@ define <16 x i8> @splatconstant_shift_v16i8(<16 x i8> %a) nounwind { ; SSE-NEXT: retq ; ; AVX-LABEL: splatconstant_shift_v16i8: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsrlw $3, %xmm0, %xmm0 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -1676,14 +1676,14 @@ define <16 x i8> @splatconstant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX-NEXT: retq ; ; XOP-LABEL: splatconstant_shift_v16i8: -; XOP: # BB#0: +; XOP: # %bb.0: ; XOP-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; XOP-NEXT: vpsubb {{.*}}(%rip), %xmm1, %xmm1 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0 ; XOP-NEXT: retq ; ; AVX512-LABEL: splatconstant_shift_v16i8: -; AVX512: # BB#0: +; AVX512: # %bb.0: ; AVX512-NEXT: vpsrlw $3, %xmm0, %xmm0 ; AVX512-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0 ; AVX512-NEXT: vmovdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -1692,7 +1692,7 @@ define <16 x i8> @splatconstant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX512-NEXT: retq ; ; AVX512VL-LABEL: splatconstant_shift_v16i8: -; AVX512VL: # BB#0: +; AVX512VL: # %bb.0: ; AVX512VL-NEXT: vpsrlw $3, %xmm0, %xmm0 ; AVX512VL-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0 ; AVX512VL-NEXT: vmovdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] @@ -1701,7 +1701,7 @@ define <16 x i8> @splatconstant_shift_v16i8(<16 x i8> %a) nounwind { ; AVX512VL-NEXT: retq ; ; X32-SSE-LABEL: splatconstant_shift_v16i8: -; X32-SSE: # BB#0: +; X32-SSE: # %bb.0: ; X32-SSE-NEXT: psrlw $3, %xmm0 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16] |