| ; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s | |
| ; RUN: llc -mtriple thumbv7-windows-msvc -filetype asm -o - %s | FileCheck %s | |
| define arm_aapcs_vfpcc i32 @sdiv32(i32 %divisor, i32 %divident) { | |
| entry: | |
| %div = sdiv i32 %divident, %divisor | |
| ret i32 %div | |
| } | |
| ; CHECK-LABEL: sdiv32: | |
| ; CHECK: cbz r0 | |
| ; CHECK: bl __rt_sdiv | |
| ; CHECK: __brkdiv0 | |
| define arm_aapcs_vfpcc i32 @udiv32(i32 %divisor, i32 %divident) { | |
| entry: | |
| %div = udiv i32 %divident, %divisor | |
| ret i32 %div | |
| } | |
| ; CHECK-LABEL: udiv32: | |
| ; CHECK: cbz r0 | |
| ; CHECK: bl __rt_udiv | |
| ; CHECK: __brkdiv0 | |
| define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) { | |
| entry: | |
| %div = sdiv i64 %divident, %divisor | |
| ret i64 %div | |
| } | |
| ; CHECK-LABEL: sdiv64: | |
| ; CHECK: orrs.w r4, r0, r1 | |
| ; CHECK-NEXT: beq | |
| ; CHECK: bl __rt_sdiv64 | |
| ; CHECK: __brkdiv0 | |
| define arm_aapcs_vfpcc i64 @udiv64(i64 %divisor, i64 %divident) { | |
| entry: | |
| %div = udiv i64 %divident, %divisor | |
| ret i64 %div | |
| } | |
| ; CHECK-LABEL: udiv64: | |
| ; CHECK: orrs.w r4, r0, r1 | |
| ; CHECK-NEXT: beq | |
| ; CHECK: bl __rt_udiv64 | |
| ; CHECK: __brkdiv0 | |