diff options
Diffstat (limited to 'test/CodeGen/X86/select.ll')
-rw-r--r-- | test/CodeGen/X86/select.ll | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/test/CodeGen/X86/select.ll b/test/CodeGen/X86/select.ll index 0e8db74fe1bd3..ec15d1a9520a8 100644 --- a/test/CodeGen/X86/select.ll +++ b/test/CodeGen/X86/select.ll @@ -321,8 +321,9 @@ define void @test8(i1 %c, <6 x i32>* %dst.addr, <6 x i32> %src1,<6 x i32> %src2) ; GENERIC-NEXT: LBB7_6: ; GENERIC-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] ; GENERIC-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0] -; GENERIC-NEXT: psubd {{.*}}(%rip), %xmm1 -; GENERIC-NEXT: psubd {{.*}}(%rip), %xmm0 +; GENERIC-NEXT: pcmpeqd %xmm2, %xmm2 +; GENERIC-NEXT: paddd %xmm2, %xmm1 +; GENERIC-NEXT: paddd %xmm2, %xmm0 ; GENERIC-NEXT: movq %xmm0, 16(%rsi) ; GENERIC-NEXT: movdqa %xmm1, (%rsi) ; GENERIC-NEXT: retq @@ -361,8 +362,9 @@ define void @test8(i1 %c, <6 x i32>* %dst.addr, <6 x i32> %src1,<6 x i32> %src2) ; ATOM-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1] ; ATOM-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0] ; ATOM-NEXT: LBB7_6: -; ATOM-NEXT: psubd {{.*}}(%rip), %xmm0 -; ATOM-NEXT: psubd {{.*}}(%rip), %xmm1 +; ATOM-NEXT: pcmpeqd %xmm2, %xmm2 +; ATOM-NEXT: paddd %xmm2, %xmm0 +; ATOM-NEXT: paddd %xmm2, %xmm1 ; ATOM-NEXT: movq %xmm0, 16(%rsi) ; ATOM-NEXT: movdqa %xmm1, (%rsi) ; ATOM-NEXT: retq |