1 ; RUN: llc < %s -mcpu=atom -march=x86-64 | FileCheck %s
3 target triple = "x86_64-unknown-linux-gnu"
5 ; Additional tests for 64-bit divide bypass
7 define i64 @Test_get_quotient(i64 %a, i64 %b) nounwind {
8 ; CHECK-LABEL: Test_get_quotient:
9 ; CHECK: movq %rdi, %rax
10 ; CHECK: orq %rsi, %rax
11 ; CHECK-NEXT: testq $-65536, %rax
17 %result = sdiv i64 %a, %b
21 define i64 @Test_get_remainder(i64 %a, i64 %b) nounwind {
22 ; CHECK-LABEL: Test_get_remainder:
23 ; CHECK: movq %rdi, %rax
24 ; CHECK: orq %rsi, %rax
25 ; CHECK-NEXT: testq $-65536, %rax
31 %result = srem i64 %a, %b
35 define i64 @Test_get_quotient_and_remainder(i64 %a, i64 %b) nounwind {
36 ; CHECK-LABEL: Test_get_quotient_and_remainder:
37 ; CHECK: movq %rdi, %rax
38 ; CHECK: orq %rsi, %rax
39 ; CHECK-NEXT: testq $-65536, %rax
47 %resultdiv = sdiv i64 %a, %b
48 %resultrem = srem i64 %a, %b
49 %result = add i64 %resultdiv, %resultrem