blob: 0fd0561e20461edde9a13bda970e2c62cf09a57b [file] [log] [blame]
Tim Northover64ec0ff2013-05-30 13:19:42 +00001; RUN: llc -mtriple=x86_64-none-linux -fast-isel -fast-isel-abort -verify-machineinstrs < %s | FileCheck %s
Eli Bendersky24a36eb2013-04-17 20:10:13 +00002
3define i64 @test_sdiv64(i64 %dividend, i64 %divisor) nounwind {
4entry:
5 %result = sdiv i64 %dividend, %divisor
6 ret i64 %result
7}
8
Stephen Linf799e3f2013-07-13 20:38:47 +00009; CHECK-LABEL: test_sdiv64:
Eli Bendersky24a36eb2013-04-17 20:10:13 +000010; CHECK: cqto
11; CHECK: idivq
12
13define i64 @test_srem64(i64 %dividend, i64 %divisor) nounwind {
14entry:
15 %result = srem i64 %dividend, %divisor
16 ret i64 %result
17}
18
Stephen Linf799e3f2013-07-13 20:38:47 +000019; CHECK-LABEL: test_srem64:
Eli Bendersky24a36eb2013-04-17 20:10:13 +000020; CHECK: cqto
21; CHECK: idivq
22
23define i64 @test_udiv64(i64 %dividend, i64 %divisor) nounwind {
24entry:
25 %result = udiv i64 %dividend, %divisor
26 ret i64 %result
27}
28
Stephen Linf799e3f2013-07-13 20:38:47 +000029; CHECK-LABEL: test_udiv64:
Eli Bendersky24a36eb2013-04-17 20:10:13 +000030; CHECK: xorl
31; CHECK: divq
32
33define i64 @test_urem64(i64 %dividend, i64 %divisor) nounwind {
34entry:
35 %result = urem i64 %dividend, %divisor
36 ret i64 %result
37}
38
Stephen Linf799e3f2013-07-13 20:38:47 +000039; CHECK-LABEL: test_urem64:
Eli Bendersky24a36eb2013-04-17 20:10:13 +000040; CHECK: xorl
41; CHECK: divq