d833afa55583a0a306d317a755f1d638299c3648
[oota-llvm.git] / test / CodeGen / ARM / div.ll
1 ; RUN: llc < %s -march=arm | FileCheck %s -check-prefix=CHECK-ARM
2 ; RUN: llc < %s -march=arm -mcpu=cortex-m3 \
3 ; RUN:    | FileCheck %s -check-prefix=CHECK-ARMV7M
4
5 define i32 @f1(i32 %a, i32 %b) {
6 entry:
7 ; CHECK-ARM: f1
8 ; CHECK-ARM: __divsi3
9 ; CHECK-ARMV7M: f1
10 ; CHECK-ARMV7M: sdiv
11         %tmp1 = sdiv i32 %a, %b         ; <i32> [#uses=1]
12         ret i32 %tmp1
13 }
14
15 define i32 @f2(i32 %a, i32 %b) {
16 entry:
17 ; CHECK-ARM: f2
18 ; CHECK-ARM: __udivsi3
19 ; CHECK-ARMV7M: f2
20 ; CHECK-ARMV7M: udiv
21         %tmp1 = udiv i32 %a, %b         ; <i32> [#uses=1]
22         ret i32 %tmp1
23 }
24
25 define i32 @f3(i32 %a, i32 %b) {
26 entry:
27 ; CHECK-ARM: f3
28 ; CHECK-ARM: __modsi3
29 ; CHECK-ARMV7M: f3
30 ; CHECK-ARMV7M: sdiv
31         %tmp1 = srem i32 %a, %b         ; <i32> [#uses=1]
32         ret i32 %tmp1
33 }
34
35 define i32 @f4(i32 %a, i32 %b) {
36 entry:
37 ; CHECK-ARM: f4
38 ; CHECK-ARM: __umodsi3
39 ; CHECK-ARMV7M: f4
40 ; CHECK-ARMV7M: udiv
41         %tmp1 = urem i32 %a, %b         ; <i32> [#uses=1]
42         ret i32 %tmp1
43 }
44