1 ; RUN: llc -debug-only=block-freq < %s -mcpu=atom -march=x86-64 | FileCheck %s
4 target triple = "x86_64-unknown-linux-gnu"
6 ; Additional tests for 64-bit divide bypass
8 define i64 @Test_get_quotient(i64 %a, i64 %b) nounwind {
9 ; CHECK-LABEL: Test_get_quotient:
10 ; CHECK: movq %rdi, %rax
11 ; CHECK: orq %rsi, %rax
12 ; CHECK-NEXT: testq $-65536, %rax
18 %result = sdiv i64 %a, %b
22 define i64 @Test_get_remainder(i64 %a, i64 %b) nounwind {
23 ; CHECK-LABEL: Test_get_remainder:
24 ; CHECK: movq %rdi, %rax
25 ; CHECK: orq %rsi, %rax
26 ; CHECK-NEXT: testq $-65536, %rax
32 %result = srem i64 %a, %b
36 define i64 @Test_get_quotient_and_remainder(i64 %a, i64 %b) nounwind {
37 ; CHECK-LABEL: Test_get_quotient_and_remainder:
38 ; CHECK: movq %rdi, %rax
39 ; CHECK: orq %rsi, %rax
40 ; CHECK-NEXT: testq $-65536, %rax
48 %resultdiv = sdiv i64 %a, %b
49 %resultrem = srem i64 %a, %b
50 %result = add i64 %resultdiv, %resultrem