diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/sink-addsub-of-const.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/sink-addsub-of-const.ll | 28 | 
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  | 

