summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/sink-addsub-of-const.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/sink-addsub-of-const.ll')
-rw-r--r--llvm/test/CodeGen/X86/sink-addsub-of-const.ll28
1 files changed, 14 insertions, 14 deletions
diff --git a/llvm/test/CodeGen/X86/sink-addsub-of-const.ll b/llvm/test/CodeGen/X86/sink-addsub-of-const.ll
index 37a3dcbd0e4..59a42ad9e39 100644
--- a/llvm/test/CodeGen/X86/sink-addsub-of-const.ll
+++ b/llvm/test/CodeGen/X86/sink-addsub-of-const.ll
@@ -178,16 +178,16 @@ define i32 @sink_add_of_const_to_sub2(i32 %a, i32 %b, i32 %c) {
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
; X32-NEXT: subl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: addl $32, %ecx
-; X32-NEXT: subl %ecx, %eax
+; X32-NEXT: addl %ecx, %eax
+; X32-NEXT: addl $-32, %eax
; X32-NEXT: retl
;
; X64-LABEL: sink_add_of_const_to_sub2:
; X64: # %bb.0:
-; X64-NEXT: movl %edx, %eax
-; X64-NEXT: subl %esi, %edi
-; X64-NEXT: addl $32, %edi
-; X64-NEXT: subl %edi, %eax
+; X64-NEXT: # kill: def $edx killed $edx def $rdx
+; X64-NEXT: # kill: def $esi killed $esi def $rsi
+; X64-NEXT: subl %edi, %esi
+; X64-NEXT: leal -32(%rdx,%rsi), %eax
; X64-NEXT: retq
%t0 = sub i32 %a, %b
%t1 = add i32 %t0, 32 ; constant always on RHS
@@ -434,18 +434,18 @@ define <4 x i32> @vec_sink_add_of_const_to_sub(<4 x i32> %a, <4 x i32> %b, <4 x
define <4 x i32> @vec_sink_add_of_const_to_sub2(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c) {
; X32-LABEL: vec_sink_add_of_const_to_sub2:
; X32: # %bb.0:
-; X32-NEXT: psubd %xmm1, %xmm0
-; X32-NEXT: paddd {{\.LCPI.*}}, %xmm0
-; X32-NEXT: psubd %xmm0, %xmm2
-; X32-NEXT: movdqa %xmm2, %xmm0
+; X32-NEXT: psubd %xmm0, %xmm1
+; X32-NEXT: paddd %xmm2, %xmm1
+; X32-NEXT: psubd {{\.LCPI.*}}, %xmm1
+; X32-NEXT: movdqa %xmm1, %xmm0
; X32-NEXT: retl
;
; X64-LABEL: vec_sink_add_of_const_to_sub2:
; X64: # %bb.0:
-; X64-NEXT: psubd %xmm1, %xmm0
-; X64-NEXT: paddd {{.*}}(%rip), %xmm0
-; X64-NEXT: psubd %xmm0, %xmm2
-; X64-NEXT: movdqa %xmm2, %xmm0
+; X64-NEXT: psubd %xmm0, %xmm1
+; X64-NEXT: paddd %xmm2, %xmm1
+; X64-NEXT: psubd {{.*}}(%rip), %xmm1
+; X64-NEXT: movdqa %xmm1, %xmm0
; X64-NEXT: retq
%t0 = sub <4 x i32> %a, %b
%t1 = add <4 x i32> %t0, <i32 42, i32 24, i32 undef, i32 46> ; constant always on RHS
OpenPOWER on IntegriCloud