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