blob: a339c816c578ffb16518636ead72becd4a92879c [file] [log] [blame]
Bob Wilsone8a549c2012-09-29 21:43:49 +00001; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-a8 | FileCheck %s -check-prefix=CHECK-ARM
Evan Cheng4ec30972013-06-04 22:52:09 +00002; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=swift | FileCheck %s -check-prefix=CHECK-HWDIV
3; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-r5 | FileCheck %s -check-prefix=CHECK-HWDIV
Rafael Espindolaba8f2962006-10-17 21:05:33 +00004
Tanya Lattnerf697c032008-02-17 20:02:20 +00005define i32 @f1(i32 %a, i32 %b) {
Rafael Espindolaba8f2962006-10-17 21:05:33 +00006entry:
Jim Grosbach44d7f492010-05-05 20:47:15 +00007; CHECK-ARM: f1
8; CHECK-ARM: __divsi3
Bob Wilsone8a549c2012-09-29 21:43:49 +00009
Evan Cheng4ec30972013-06-04 22:52:09 +000010; CHECK-HWDIV: f1
11; CHECK-HWDIV: sdiv
Tanya Lattnerf697c032008-02-17 20:02:20 +000012 %tmp1 = sdiv i32 %a, %b ; <i32> [#uses=1]
13 ret i32 %tmp1
Rafael Espindolaba8f2962006-10-17 21:05:33 +000014}
15
Tanya Lattnerf697c032008-02-17 20:02:20 +000016define i32 @f2(i32 %a, i32 %b) {
Rafael Espindolaba8f2962006-10-17 21:05:33 +000017entry:
Jim Grosbach44d7f492010-05-05 20:47:15 +000018; CHECK-ARM: f2
19; CHECK-ARM: __udivsi3
Bob Wilsone8a549c2012-09-29 21:43:49 +000020
Evan Cheng4ec30972013-06-04 22:52:09 +000021; CHECK-HWDIV: f2
22; CHECK-HWDIV: udiv
Tanya Lattnerf697c032008-02-17 20:02:20 +000023 %tmp1 = udiv i32 %a, %b ; <i32> [#uses=1]
24 ret i32 %tmp1
Rafael Espindolaba8f2962006-10-17 21:05:33 +000025}
26
Tanya Lattnerf697c032008-02-17 20:02:20 +000027define i32 @f3(i32 %a, i32 %b) {
Rafael Espindolaba8f2962006-10-17 21:05:33 +000028entry:
Jim Grosbach44d7f492010-05-05 20:47:15 +000029; CHECK-ARM: f3
30; CHECK-ARM: __modsi3
Bob Wilsone8a549c2012-09-29 21:43:49 +000031
Evan Cheng4ec30972013-06-04 22:52:09 +000032; CHECK-HWDIV: f3
33; CHECK-HWDIV: sdiv
34; CHECK-HWDIV: mls
Tanya Lattnerf697c032008-02-17 20:02:20 +000035 %tmp1 = srem i32 %a, %b ; <i32> [#uses=1]
36 ret i32 %tmp1
Rafael Espindolaba8f2962006-10-17 21:05:33 +000037}
38
Tanya Lattnerf697c032008-02-17 20:02:20 +000039define i32 @f4(i32 %a, i32 %b) {
Rafael Espindolaba8f2962006-10-17 21:05:33 +000040entry:
Jim Grosbach44d7f492010-05-05 20:47:15 +000041; CHECK-ARM: f4
42; CHECK-ARM: __umodsi3
Bob Wilsone8a549c2012-09-29 21:43:49 +000043
Evan Cheng4ec30972013-06-04 22:52:09 +000044; CHECK-HWDIV: f4
45; CHECK-HWDIV: udiv
46; CHECK-HWDIV: mls
Tanya Lattnerf697c032008-02-17 20:02:20 +000047 %tmp1 = urem i32 %a, %b ; <i32> [#uses=1]
48 ret i32 %tmp1
Rafael Espindolaba8f2962006-10-17 21:05:33 +000049}
Tanya Lattnerf697c032008-02-17 20:02:20 +000050