Saleem Abdulrasool | fe83b50 | 2015-09-25 05:15:46 +0000 | [diff] [blame] | 1 | ; 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 Malone | d122924 | 2015-11-26 15:34:03 +0000 | [diff] [blame] | 4 | define arm_aapcs_vfpcc i32 @sdiv32(i32 %divisor, i32 %divident) { |
| 5 | entry: |
| 6 | %div = sdiv i32 %divident, %divisor |
| 7 | ret i32 %div |
| 8 | } |
| 9 | |
Saleem Abdulrasool | 071a099 | 2016-03-17 14:10:49 +0000 | [diff] [blame] | 10 | ; CHECK-LABEL: sdiv32: |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 11 | ; CHECK: cbz r0 |
Saleem Abdulrasool | 0dab98d | 2016-03-25 00:34:11 +0000 | [diff] [blame] | 12 | ; CHECK: bl __rt_sdiv |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 13 | ; CHECK: __brkdiv0 |
Martell Malone | d122924 | 2015-11-26 15:34:03 +0000 | [diff] [blame] | 14 | |
Saleem Abdulrasool | fe83b50 | 2015-09-25 05:15:46 +0000 | [diff] [blame] | 15 | define arm_aapcs_vfpcc i32 @udiv32(i32 %divisor, i32 %divident) { |
| 16 | entry: |
| 17 | %div = udiv i32 %divident, %divisor |
| 18 | ret i32 %div |
| 19 | } |
| 20 | |
| 21 | ; CHECK-LABEL: udiv32: |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 22 | ; CHECK: cbz r0 |
Saleem Abdulrasool | 0dab98d | 2016-03-25 00:34:11 +0000 | [diff] [blame] | 23 | ; CHECK: bl __rt_udiv |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 24 | ; CHECK: __brkdiv0 |
Martell Malone | d122924 | 2015-11-26 15:34:03 +0000 | [diff] [blame] | 25 | |
| 26 | define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) { |
| 27 | entry: |
| 28 | %div = sdiv i64 %divident, %divisor |
| 29 | ret i64 %div |
| 30 | } |
| 31 | |
Saleem Abdulrasool | 071a099 | 2016-03-17 14:10:49 +0000 | [diff] [blame] | 32 | ; CHECK-LABEL: sdiv64: |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 33 | ; CHECK: orrs.w r4, r0, r1 |
| 34 | ; CHECK-NEXT: beq |
Saleem Abdulrasool | 0dab98d | 2016-03-25 00:34:11 +0000 | [diff] [blame] | 35 | ; CHECK: bl __rt_sdiv64 |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 36 | ; CHECK: __brkdiv0 |
Saleem Abdulrasool | fe83b50 | 2015-09-25 05:15:46 +0000 | [diff] [blame] | 37 | |
Saleem Abdulrasool | fe83b50 | 2015-09-25 05:15:46 +0000 | [diff] [blame] | 38 | define arm_aapcs_vfpcc i64 @udiv64(i64 %divisor, i64 %divident) { |
| 39 | entry: |
| 40 | %div = udiv i64 %divident, %divisor |
| 41 | ret i64 %div |
| 42 | } |
| 43 | |
| 44 | ; CHECK-LABEL: udiv64: |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 45 | ; CHECK: orrs.w r4, r0, r1 |
| 46 | ; CHECK-NEXT: beq |
Saleem Abdulrasool | 0dab98d | 2016-03-25 00:34:11 +0000 | [diff] [blame] | 47 | ; CHECK: bl __rt_udiv64 |
Saleem Abdulrasool | e1aa782 | 2016-10-31 22:12:37 +0000 | [diff] [blame] | 48 | ; CHECK: __brkdiv0 |
Saleem Abdulrasool | 0dab98d | 2016-03-25 00:34:11 +0000 | [diff] [blame] | 49 | |