diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/bypass-slow-division-64.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/bypass-slow-division-64.ll | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/llvm/test/CodeGen/X86/bypass-slow-division-64.ll b/llvm/test/CodeGen/X86/bypass-slow-division-64.ll index bed775d7755..24d73f5dbe0 100644 --- a/llvm/test/CodeGen/X86/bypass-slow-division-64.ll +++ b/llvm/test/CodeGen/X86/bypass-slow-division-64.ll @@ -8,17 +8,17 @@ define i64 @Test_get_quotient(i64 %a, i64 %b) nounwind { ; CHECK-LABEL: Test_get_quotient: ; CHECK: # %bb.0: ; CHECK-NEXT: movq %rdi, %rax -; CHECK-NEXT: orq %rsi, %rax -; CHECK-NEXT: shrq $32, %rax +; CHECK-NEXT: movq %rdi, %rcx +; CHECK-NEXT: orq %rsi, %rcx +; CHECK-NEXT: shrq $32, %rcx ; CHECK-NEXT: je .LBB0_1 ; CHECK-NEXT: # %bb.2: -; CHECK-NEXT: movq %rdi, %rax ; CHECK-NEXT: cqto ; CHECK-NEXT: idivq %rsi ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB0_1: ; CHECK-NEXT: xorl %edx, %edx -; CHECK-NEXT: movl %edi, %eax +; CHECK-NEXT: # kill: def $eax killed $eax killed $rax ; CHECK-NEXT: divl %esi ; CHECK-NEXT: # kill: def $eax killed $eax def $rax ; CHECK-NEXT: retq @@ -30,21 +30,20 @@ define i64 @Test_get_remainder(i64 %a, i64 %b) nounwind { ; CHECK-LABEL: Test_get_remainder: ; CHECK: # %bb.0: ; CHECK-NEXT: movq %rdi, %rax -; CHECK-NEXT: orq %rsi, %rax -; CHECK-NEXT: shrq $32, %rax +; CHECK-NEXT: movq %rdi, %rcx +; CHECK-NEXT: orq %rsi, %rcx +; CHECK-NEXT: shrq $32, %rcx ; CHECK-NEXT: je .LBB1_1 ; CHECK-NEXT: # %bb.2: -; CHECK-NEXT: movq %rdi, %rax ; CHECK-NEXT: cqto ; CHECK-NEXT: idivq %rsi ; CHECK-NEXT: movq %rdx, %rax ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB1_1: ; CHECK-NEXT: xorl %edx, %edx -; CHECK-NEXT: movl %edi, %eax +; CHECK-NEXT: # kill: def $eax killed $eax killed $rax ; CHECK-NEXT: divl %esi -; CHECK-NEXT: # kill: def $edx killed $edx def $rdx -; CHECK-NEXT: movq %rdx, %rax +; CHECK-NEXT: movl %edx, %eax ; CHECK-NEXT: retq %result = srem i64 %a, %b ret i64 %result @@ -54,18 +53,18 @@ define i64 @Test_get_quotient_and_remainder(i64 %a, i64 %b) nounwind { ; CHECK-LABEL: Test_get_quotient_and_remainder: ; CHECK: # %bb.0: ; CHECK-NEXT: movq %rdi, %rax -; CHECK-NEXT: orq %rsi, %rax -; CHECK-NEXT: shrq $32, %rax +; CHECK-NEXT: movq %rdi, %rcx +; CHECK-NEXT: orq %rsi, %rcx +; CHECK-NEXT: shrq $32, %rcx ; CHECK-NEXT: je .LBB2_1 ; CHECK-NEXT: # %bb.2: -; CHECK-NEXT: movq %rdi, %rax ; CHECK-NEXT: cqto ; CHECK-NEXT: idivq %rsi ; CHECK-NEXT: addq %rdx, %rax ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB2_1: ; CHECK-NEXT: xorl %edx, %edx -; CHECK-NEXT: movl %edi, %eax +; CHECK-NEXT: # kill: def $eax killed $eax killed $rax ; CHECK-NEXT: divl %esi ; CHECK-NEXT: # kill: def $edx killed $edx def $rdx ; CHECK-NEXT: # kill: def $eax killed $eax def $rax |