1 ; RUN: llc < %s -mcpu=atom -mtriple=i686-linux -march=x86-64 | FileCheck %s
3 ; Additional tests for 64-bit divide bypass
5 define i64 @Test_get_quotient(i64 %a, i64 %b) nounwind {
6 ; CHECK: Test_get_quotient:
7 ; CHECK: movq %rdi, %rax
8 ; CHECK: orq %rsi, %rax
9 ; CHECK-NEXT: testq $-65536, %rax
15 %result = sdiv i64 %a, %b
19 define i64 @Test_get_remainder(i64 %a, i64 %b) nounwind {
20 ; CHECK: Test_get_remainder:
21 ; CHECK: movq %rdi, %rax
22 ; CHECK: orq %rsi, %rax
23 ; CHECK-NEXT: testq $-65536, %rax
29 %result = srem i64 %a, %b
33 define i64 @Test_get_quotient_and_remainder(i64 %a, i64 %b) nounwind {
34 ; CHECK: Test_get_quotient_and_remainder:
35 ; CHECK: movq %rdi, %rax
36 ; CHECK: orq %rsi, %rax
37 ; CHECK-NEXT: testq $-65536, %rax
45 %resultdiv = sdiv i64 %a, %b
46 %resultrem = srem i64 %a, %b
47 %result = add i64 %resultdiv, %resultrem