diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/combine-mul.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/combine-mul.ll | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/llvm/test/CodeGen/X86/combine-mul.ll b/llvm/test/CodeGen/X86/combine-mul.ll index 2580a821240..21733acac1f 100644 --- a/llvm/test/CodeGen/X86/combine-mul.ll +++ b/llvm/test/CodeGen/X86/combine-mul.ll @@ -5,11 +5,11 @@ ; fold (mul undef, x) -> 0 define <4 x i32> @combine_vec_mul_undef0(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_undef0: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_undef0: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: retq %1 = mul <4 x i32> undef, %x ret <4 x i32> %1 @@ -18,11 +18,11 @@ define <4 x i32> @combine_vec_mul_undef0(<4 x i32> %x) { ; fold (mul x, undef) -> 0 define <4 x i32> @combine_vec_mul_undef1(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_undef1: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_undef1: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: retq %1 = mul <4 x i32> %x, undef ret <4 x i32> %1 @@ -31,12 +31,12 @@ define <4 x i32> @combine_vec_mul_undef1(<4 x i32> %x) { ; fold (mul x, 0) -> 0 define <4 x i32> @combine_vec_mul_zero(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_zero: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: xorps %xmm0, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_zero: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vxorps %xmm0, %xmm0, %xmm0 ; AVX-NEXT: retq %1 = mul <4 x i32> %x, zeroinitializer @@ -46,11 +46,11 @@ define <4 x i32> @combine_vec_mul_zero(<4 x i32> %x) { ; fold (mul x, 1) -> x define <4 x i32> @combine_vec_mul_one(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_one: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_one: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: retq %1 = mul <4 x i32> %x, <i32 1, i32 1, i32 1, i32 1> ret <4 x i32> %1 @@ -59,14 +59,14 @@ define <4 x i32> @combine_vec_mul_one(<4 x i32> %x) { ; fold (mul x, -1) -> 0-x define <4 x i32> @combine_vec_mul_negone(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_negone: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pxor %xmm1, %xmm1 ; SSE-NEXT: psubd %xmm0, %xmm1 ; SSE-NEXT: movdqa %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_negone: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; AVX-NEXT: vpsubd %xmm0, %xmm1, %xmm0 ; AVX-NEXT: retq @@ -77,12 +77,12 @@ define <4 x i32> @combine_vec_mul_negone(<4 x i32> %x) { ; fold (mul x, (1 << c)) -> x << c define <4 x i32> @combine_vec_mul_pow2a(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_pow2a: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: paddd %xmm0, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_pow2a: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpaddd %xmm0, %xmm0, %xmm0 ; AVX-NEXT: retq %1 = mul <4 x i32> %x, <i32 2, i32 2, i32 2, i32 2> @@ -91,12 +91,12 @@ define <4 x i32> @combine_vec_mul_pow2a(<4 x i32> %x) { define <4 x i32> @combine_vec_mul_pow2b(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_pow2b: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_pow2b: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq %1 = mul <4 x i32> %x, <i32 1, i32 2, i32 4, i32 16> @@ -105,7 +105,7 @@ define <4 x i32> @combine_vec_mul_pow2b(<4 x i32> %x) { define <4 x i64> @combine_vec_mul_pow2c(<4 x i64> %x) { ; SSE-LABEL: combine_vec_mul_pow2c: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movdqa %xmm0, %xmm2 ; SSE-NEXT: psllq $1, %xmm2 ; SSE-NEXT: pblendw {{.*#+}} xmm2 = xmm0[0,1,2,3],xmm2[4,5,6,7] @@ -117,7 +117,7 @@ define <4 x i64> @combine_vec_mul_pow2c(<4 x i64> %x) { ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_pow2c: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsllvq {{.*}}(%rip), %ymm0, %ymm0 ; AVX-NEXT: retq %1 = mul <4 x i64> %x, <i64 1, i64 2, i64 4, i64 16> @@ -127,7 +127,7 @@ define <4 x i64> @combine_vec_mul_pow2c(<4 x i64> %x) { ; fold (mul x, -(1 << c)) -> -(x << c) or (-x) << c define <4 x i32> @combine_vec_mul_negpow2a(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_negpow2a: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: paddd %xmm0, %xmm0 ; SSE-NEXT: pxor %xmm1, %xmm1 ; SSE-NEXT: psubd %xmm0, %xmm1 @@ -135,7 +135,7 @@ define <4 x i32> @combine_vec_mul_negpow2a(<4 x i32> %x) { ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_negpow2a: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpaddd %xmm0, %xmm0, %xmm0 ; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1 ; AVX-NEXT: vpsubd %xmm0, %xmm1, %xmm0 @@ -146,12 +146,12 @@ define <4 x i32> @combine_vec_mul_negpow2a(<4 x i32> %x) { define <4 x i32> @combine_vec_mul_negpow2b(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_negpow2b: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_negpow2b: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmulld {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq %1 = mul <4 x i32> %x, <i32 -1, i32 -2, i32 -4, i32 -16> @@ -160,7 +160,7 @@ define <4 x i32> @combine_vec_mul_negpow2b(<4 x i32> %x) { define <4 x i64> @combine_vec_mul_negpow2c(<4 x i64> %x) { ; SSE-LABEL: combine_vec_mul_negpow2c: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movdqa {{.*#+}} xmm2 = [4294967295,4294967295] ; SSE-NEXT: movdqa %xmm0, %xmm3 ; SSE-NEXT: pmuludq %xmm2, %xmm3 @@ -184,7 +184,7 @@ define <4 x i64> @combine_vec_mul_negpow2c(<4 x i64> %x) { ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_negpow2c: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpbroadcastq {{.*#+}} ymm1 = [4294967295,4294967295,4294967295,4294967295] ; AVX-NEXT: vpmuludq %ymm1, %ymm0, %ymm1 ; AVX-NEXT: vpsrlq $32, %ymm0, %ymm2 @@ -202,12 +202,12 @@ define <4 x i64> @combine_vec_mul_negpow2c(<4 x i64> %x) { ; (mul (shl X, c1), c2) -> (mul X, c2 << c1) define <4 x i32> @combine_vec_mul_shl_const(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_shl_const: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_shl_const: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmulld {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq %1 = shl <4 x i32> %x, <i32 1, i32 2, i32 8, i32 16> @@ -218,13 +218,13 @@ define <4 x i32> @combine_vec_mul_shl_const(<4 x i32> %x) { ; (mul (shl X, C), Y) -> (shl (mul X, Y), C) when the shift has one use. define <4 x i32> @combine_vec_mul_shl_oneuse0(<4 x i32> %x, <4 x i32> %y) { ; SSE-LABEL: combine_vec_mul_shl_oneuse0: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld %xmm1, %xmm0 ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_shl_oneuse0: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmulld %xmm1, %xmm0, %xmm0 ; AVX-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq @@ -235,13 +235,13 @@ define <4 x i32> @combine_vec_mul_shl_oneuse0(<4 x i32> %x, <4 x i32> %y) { define <4 x i32> @combine_vec_mul_shl_oneuse1(<4 x i32> %x, <4 x i32> %y) { ; SSE-LABEL: combine_vec_mul_shl_oneuse1: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld %xmm1, %xmm0 ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_shl_oneuse1: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmulld %xmm1, %xmm0, %xmm0 ; AVX-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq @@ -252,14 +252,14 @@ define <4 x i32> @combine_vec_mul_shl_oneuse1(<4 x i32> %x, <4 x i32> %y) { define <4 x i32> @combine_vec_mul_shl_multiuse0(<4 x i32> %x, <4 x i32> %y) { ; SSE-LABEL: combine_vec_mul_shl_multiuse0: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: pmulld %xmm0, %xmm1 ; SSE-NEXT: paddd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_shl_multiuse0: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: vpmulld %xmm1, %xmm0, %xmm1 ; AVX-NEXT: vpaddd %xmm1, %xmm0, %xmm0 @@ -272,14 +272,14 @@ define <4 x i32> @combine_vec_mul_shl_multiuse0(<4 x i32> %x, <4 x i32> %y) { define <4 x i32> @combine_vec_mul_shl_multiuse1(<4 x i32> %x, <4 x i32> %y) { ; SSE-LABEL: combine_vec_mul_shl_multiuse1: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: pmulld %xmm0, %xmm1 ; SSE-NEXT: paddd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_shl_multiuse1: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: vpmulld %xmm0, %xmm1, %xmm1 ; AVX-NEXT: vpaddd %xmm1, %xmm0, %xmm0 @@ -294,13 +294,13 @@ define <4 x i32> @combine_vec_mul_shl_multiuse1(<4 x i32> %x, <4 x i32> %y) { define <4 x i32> @combine_vec_mul_add(<4 x i32> %x) { ; SSE-LABEL: combine_vec_mul_add: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: pmulld {{.*}}(%rip), %xmm0 ; SSE-NEXT: paddd {{.*}}(%rip), %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: combine_vec_mul_add: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpmulld {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: vpaddd {{.*}}(%rip), %xmm0, %xmm0 ; AVX-NEXT: retq |