summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/ssub_sat.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/ssub_sat.ll')
-rw-r--r--llvm/test/CodeGen/X86/ssub_sat.ll36
1 files changed, 13 insertions, 23 deletions
diff --git a/llvm/test/CodeGen/X86/ssub_sat.ll b/llvm/test/CodeGen/X86/ssub_sat.ll
index dafae884eb1..dcfa086603b 100644
--- a/llvm/test/CodeGen/X86/ssub_sat.ll
+++ b/llvm/test/CodeGen/X86/ssub_sat.ll
@@ -183,30 +183,20 @@ define <4 x i32> @vec(<4 x i32> %x, <4 x i32> %y) nounwind {
;
; X64-LABEL: vec:
; X64: # %bb.0:
-; X64-NEXT: movdqa %xmm0, %xmm2
-; X64-NEXT: pxor %xmm3, %xmm3
-; X64-NEXT: pxor %xmm0, %xmm0
-; X64-NEXT: pcmpgtd %xmm1, %xmm0
-; X64-NEXT: pcmpeqd %xmm4, %xmm4
-; X64-NEXT: pxor %xmm4, %xmm0
-; X64-NEXT: pxor %xmm5, %xmm5
-; X64-NEXT: pcmpgtd %xmm2, %xmm5
-; X64-NEXT: pxor %xmm4, %xmm5
-; X64-NEXT: pcmpeqd %xmm5, %xmm0
-; X64-NEXT: psubd %xmm1, %xmm2
-; X64-NEXT: pcmpgtd %xmm2, %xmm3
-; X64-NEXT: movdqa %xmm3, %xmm1
-; X64-NEXT: pxor %xmm4, %xmm1
-; X64-NEXT: pcmpeqd %xmm5, %xmm1
-; X64-NEXT: pxor %xmm4, %xmm1
-; X64-NEXT: pandn %xmm1, %xmm0
-; X64-NEXT: movdqa %xmm3, %xmm1
+; X64-NEXT: pxor %xmm2, %xmm2
+; X64-NEXT: movdqa %xmm0, %xmm3
+; X64-NEXT: psubd %xmm1, %xmm3
+; X64-NEXT: pcmpgtd %xmm2, %xmm1
+; X64-NEXT: pcmpgtd %xmm3, %xmm0
+; X64-NEXT: pxor %xmm1, %xmm0
+; X64-NEXT: pcmpgtd %xmm3, %xmm2
+; X64-NEXT: movdqa %xmm2, %xmm1
; X64-NEXT: pandn {{.*}}(%rip), %xmm1
-; X64-NEXT: psrld $1, %xmm3
-; X64-NEXT: por %xmm1, %xmm3
-; X64-NEXT: pand %xmm0, %xmm3
-; X64-NEXT: pandn %xmm2, %xmm0
-; X64-NEXT: por %xmm3, %xmm0
+; X64-NEXT: psrld $1, %xmm2
+; X64-NEXT: por %xmm1, %xmm2
+; X64-NEXT: pand %xmm0, %xmm2
+; X64-NEXT: pandn %xmm3, %xmm0
+; X64-NEXT: por %xmm2, %xmm0
; X64-NEXT: retq
%tmp = call <4 x i32> @llvm.ssub.sat.v4i32(<4 x i32> %x, <4 x i32> %y)
ret <4 x i32> %tmp
OpenPOWER on IntegriCloud