diff options
Diffstat (limited to 'test/CodeGen/ARM/Windows/division.ll')
-rw-r--r-- | test/CodeGen/ARM/Windows/division.ll | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/test/CodeGen/ARM/Windows/division.ll b/test/CodeGen/ARM/Windows/division.ll index b3ef9c6d278b6..f4704ea7ff4b7 100644 --- a/test/CodeGen/ARM/Windows/division.ll +++ b/test/CodeGen/ARM/Windows/division.ll @@ -7,8 +7,11 @@ entry: ret i32 %div } -; CHECK-LABEL: sdiv32 -; CHECK: b __rt_sdiv +; CHECK-LABEL: sdiv32: +; CHECK: cbz r0 +; CHECK: b +; CHECK: udf.w #249 +; CHECK: bl __rt_sdiv define arm_aapcs_vfpcc i32 @udiv32(i32 %divisor, i32 %divident) { entry: @@ -17,7 +20,10 @@ entry: } ; CHECK-LABEL: udiv32: -; CHECK: b __rt_udiv +; CHECK: cbz r0 +; CHECK: b +; CHECK: udf.w #249 +; CHECK: bl __rt_udiv define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) { entry: @@ -25,7 +31,11 @@ entry: ret i64 %div } -; CHECK-LABEL: sdiv64 +; CHECK-LABEL: sdiv64: +; CHECK: orr.w r4, r0, r1 +; CHECK-NEXT: cbz r4 +; CHECK: b +; CHECK: udf.w #249 ; CHECK: bl __rt_sdiv64 define arm_aapcs_vfpcc i64 @udiv64(i64 %divisor, i64 %divident) { @@ -35,4 +45,9 @@ entry: } ; CHECK-LABEL: udiv64: +; CHECK: orr.w r4, r0, r1 +; CHECK-NEXT: cbz r4 +; CHECK: b +; CHECK: udf.w #249 ; CHECK: bl __rt_udiv64 + |