ARM: address WOA unsigned division overflow crash
[oota-llvm.git] / test / CodeGen / ARM / Windows / division.ll
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
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
10 ; CHECK-LABEL: sdiv32
11 ; CHECK: b __rt_sdiv
12
13 define arm_aapcs_vfpcc i32 @udiv32(i32 %divisor, i32 %divident) {
14 entry:
15   %div = udiv i32 %divident, %divisor
16   ret i32 %div
17 }
18
19 ; CHECK-LABEL: udiv32:
20 ; CHECK: b __rt_udiv
21
22 define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) {
23 entry:
24   %div = sdiv i64 %divident, %divisor
25   ret i64 %div
26 }
27
28 ; CHECK-LABEL: sdiv64
29 ; CHECK: bl __rt_sdiv64
30
31 define arm_aapcs_vfpcc i64 @udiv64(i64 %divisor, i64 %divident) {
32 entry:
33   %div = udiv i64 %divident, %divisor
34   ret i64 %div
35 }
36
37 ; CHECK-LABEL: udiv64:
38 ; CHECK: bl __rt_udiv64