diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/haddsub-undef.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/haddsub-undef.ll | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/llvm/test/CodeGen/X86/haddsub-undef.ll b/llvm/test/CodeGen/X86/haddsub-undef.ll index e59ff79e0d8..d34f8985cff 100644 --- a/llvm/test/CodeGen/X86/haddsub-undef.ll +++ b/llvm/test/CodeGen/X86/haddsub-undef.ll @@ -7,12 +7,12 @@ define <4 x float> @test1_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test1_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test1_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %a, i32 0 @@ -32,12 +32,12 @@ define <4 x float> @test1_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test2_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test2_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test2_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %a, i32 0 @@ -57,12 +57,12 @@ define <4 x float> @test2_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test3_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test3_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test3_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %a, i32 0 @@ -82,13 +82,13 @@ define <4 x float> @test3_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test4_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test4_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] ; SSE-NEXT: addss %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test4_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq @@ -101,7 +101,7 @@ define <4 x float> @test4_undef(<4 x float> %a, <4 x float> %b) { define <2 x double> @test5_undef(<2 x double> %a, <2 x double> %b) { ; SSE-LABEL: test5_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movaps %xmm0, %xmm1 ; SSE-NEXT: movhlps {{.*#+}} xmm1 = xmm1[1,1] ; SSE-NEXT: addsd %xmm0, %xmm1 @@ -109,7 +109,7 @@ define <2 x double> @test5_undef(<2 x double> %a, <2 x double> %b) { ; SSE-NEXT: retq ; ; AVX-LABEL: test5_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] ; AVX-NEXT: vaddsd %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq @@ -122,12 +122,12 @@ define <2 x double> @test5_undef(<2 x double> %a, <2 x double> %b) { define <4 x float> @test6_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test6_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm0, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test6_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm0, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %a, i32 0 @@ -143,12 +143,12 @@ define <4 x float> @test6_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test7_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test7_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test7_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %b, i32 0 @@ -164,7 +164,7 @@ define <4 x float> @test7_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test8_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test8_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] ; SSE-NEXT: addss %xmm0, %xmm1 ; SSE-NEXT: movaps %xmm0, %xmm2 @@ -176,7 +176,7 @@ define <4 x float> @test8_undef(<4 x float> %a, <4 x float> %b) { ; SSE-NEXT: retq ; ; AVX-LABEL: test8_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vmovshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm1 ; AVX-NEXT: vpermilpd {{.*#+}} xmm2 = xmm0[1,0] @@ -197,12 +197,12 @@ define <4 x float> @test8_undef(<4 x float> %a, <4 x float> %b) { define <4 x float> @test9_undef(<4 x float> %a, <4 x float> %b) { ; SSE-LABEL: test9_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test9_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq %vecext = extractelement <4 x float> %a, i32 0 @@ -218,12 +218,12 @@ define <4 x float> @test9_undef(<4 x float> %a, <4 x float> %b) { define <8 x float> @test10_undef(<8 x float> %a, <8 x float> %b) { ; SSE-LABEL: test10_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test10_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %ymm1, %ymm0, %ymm0 ; AVX-NEXT: retq %vecext = extractelement <8 x float> %a, i32 0 @@ -239,7 +239,7 @@ define <8 x float> @test10_undef(<8 x float> %a, <8 x float> %b) { define <8 x float> @test11_undef(<8 x float> %a, <8 x float> %b) { ; SSE-LABEL: test11_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] ; SSE-NEXT: addss %xmm1, %xmm0 ; SSE-NEXT: movshdup {{.*#+}} xmm1 = xmm3[1,1,3,3] @@ -248,7 +248,7 @@ define <8 x float> @test11_undef(<8 x float> %a, <8 x float> %b) { ; SSE-NEXT: retq ; ; AVX-LABEL: test11_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %ymm0, %ymm0, %ymm0 ; AVX-NEXT: retq %vecext = extractelement <8 x float> %a, i32 0 @@ -264,12 +264,12 @@ define <8 x float> @test11_undef(<8 x float> %a, <8 x float> %b) { define <8 x float> @test12_undef(<8 x float> %a, <8 x float> %b) { ; SSE-LABEL: test12_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm0, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test12_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vhaddps %ymm0, %ymm0, %ymm0 ; AVX-NEXT: retq %vecext = extractelement <8 x float> %a, i32 0 @@ -285,12 +285,12 @@ define <8 x float> @test12_undef(<8 x float> %a, <8 x float> %b) { define <8 x float> @test13_undef(<8 x float> %a, <8 x float> %b) { ; SSE-LABEL: test13_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: haddps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: test13_undef: -; AVX: # BB#0: +; AVX: # %bb.0: ; AVX-NEXT: vextractf128 $1, %ymm0, %xmm1 ; AVX-NEXT: vhaddps %xmm1, %xmm0, %xmm0 ; AVX-NEXT: retq @@ -315,17 +315,17 @@ define <8 x float> @test13_undef(<8 x float> %a, <8 x float> %b) { define <8 x i32> @test14_undef(<8 x i32> %a, <8 x i32> %b) { ; SSE-LABEL: test14_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: phaddd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX1-LABEL: test14_undef: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vphaddd %xmm1, %xmm0, %xmm0 ; AVX1-NEXT: retq ; ; AVX2-LABEL: test14_undef: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vphaddd %ymm1, %ymm0, %ymm0 ; AVX2-NEXT: retq %vecext = extractelement <8 x i32> %a, i32 0 @@ -344,7 +344,7 @@ define <8 x i32> @test14_undef(<8 x i32> %a, <8 x i32> %b) { ; integer horizontal adds instead of two scalar adds followed by vector inserts. define <8 x i32> @test15_undef(<8 x i32> %a, <8 x i32> %b) { ; SSE-LABEL: test15_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movd %xmm0, %eax ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3] ; SSE-NEXT: movd %xmm0, %ecx @@ -359,7 +359,7 @@ define <8 x i32> @test15_undef(<8 x i32> %a, <8 x i32> %b) { ; SSE-NEXT: retq ; ; AVX1-LABEL: test15_undef: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vmovd %xmm0, %eax ; AVX1-NEXT: vpextrd $1, %xmm0, %ecx ; AVX1-NEXT: addl %eax, %ecx @@ -374,7 +374,7 @@ define <8 x i32> @test15_undef(<8 x i32> %a, <8 x i32> %b) { ; AVX1-NEXT: retq ; ; AVX2-LABEL: test15_undef: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vphaddd %ymm0, %ymm0, %ymm0 ; AVX2-NEXT: retq %vecext = extractelement <8 x i32> %a, i32 0 @@ -390,17 +390,17 @@ define <8 x i32> @test15_undef(<8 x i32> %a, <8 x i32> %b) { define <8 x i32> @test16_undef(<8 x i32> %a, <8 x i32> %b) { ; SSE-LABEL: test16_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: phaddd %xmm0, %xmm0 ; SSE-NEXT: retq ; ; AVX1-LABEL: test16_undef: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vphaddd %xmm0, %xmm0, %xmm0 ; AVX1-NEXT: retq ; ; AVX2-LABEL: test16_undef: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vphaddd %ymm0, %ymm0, %ymm0 ; AVX2-NEXT: retq %vecext = extractelement <8 x i32> %a, i32 0 @@ -416,18 +416,18 @@ define <8 x i32> @test16_undef(<8 x i32> %a, <8 x i32> %b) { define <8 x i32> @test17_undef(<8 x i32> %a, <8 x i32> %b) { ; SSE-LABEL: test17_undef: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: phaddd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX1-LABEL: test17_undef: -; AVX1: # BB#0: +; AVX1: # %bb.0: ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1 ; AVX1-NEXT: vphaddd %xmm1, %xmm0, %xmm0 ; AVX1-NEXT: retq ; ; AVX2-LABEL: test17_undef: -; AVX2: # BB#0: +; AVX2: # %bb.0: ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1 ; AVX2-NEXT: vphaddd %xmm1, %xmm0, %xmm0 ; AVX2-NEXT: retq |