blob: 10f86b08e634aabe64338e649aa17bca92558ac9 [file] [log] [blame]
Saleem Abdulrasoolfe83b502015-09-25 05:15:46 +00001; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
2; RUN: llc -mtriple thumbv7-windows-msvc -filetype asm -o - %s | FileCheck %s
3
Martell Maloned1229242015-11-26 15:34:03 +00004define arm_aapcs_vfpcc i32 @sdiv32(i32 %divisor, i32 %divident) {
5entry:
6 %div = sdiv i32 %divident, %divisor
7 ret i32 %div
8}
9
Saleem Abdulrasool071a0992016-03-17 14:10:49 +000010; CHECK-LABEL: sdiv32:
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000011; CHECK: cbz r0
Saleem Abdulrasool0dab98d2016-03-25 00:34:11 +000012; CHECK: bl __rt_sdiv
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000013; CHECK: __brkdiv0
Martell Maloned1229242015-11-26 15:34:03 +000014
Saleem Abdulrasoolfe83b502015-09-25 05:15:46 +000015define arm_aapcs_vfpcc i32 @udiv32(i32 %divisor, i32 %divident) {
16entry:
17 %div = udiv i32 %divident, %divisor
18 ret i32 %div
19}
20
21; CHECK-LABEL: udiv32:
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000022; CHECK: cbz r0
Saleem Abdulrasool0dab98d2016-03-25 00:34:11 +000023; CHECK: bl __rt_udiv
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000024; CHECK: __brkdiv0
Martell Maloned1229242015-11-26 15:34:03 +000025
26define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) {
27entry:
28 %div = sdiv i64 %divident, %divisor
29 ret i64 %div
30}
31
Saleem Abdulrasool071a0992016-03-17 14:10:49 +000032; CHECK-LABEL: sdiv64:
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000033; CHECK: orrs.w r4, r0, r1
34; CHECK-NEXT: beq
Saleem Abdulrasool0dab98d2016-03-25 00:34:11 +000035; CHECK: bl __rt_sdiv64
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000036; CHECK: __brkdiv0
Saleem Abdulrasoolfe83b502015-09-25 05:15:46 +000037
Saleem Abdulrasoolfe83b502015-09-25 05:15:46 +000038define arm_aapcs_vfpcc i64 @udiv64(i64 %divisor, i64 %divident) {
39entry:
40 %div = udiv i64 %divident, %divisor
41 ret i64 %div
42}
43
44; CHECK-LABEL: udiv64:
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000045; CHECK: orrs.w r4, r0, r1
46; CHECK-NEXT: beq
Saleem Abdulrasool0dab98d2016-03-25 00:34:11 +000047; CHECK: bl __rt_udiv64
Saleem Abdulrasoole1aa7822016-10-31 22:12:37 +000048; CHECK: __brkdiv0
Saleem Abdulrasool0dab98d2016-03-25 00:34:11 +000049