diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/udivrem-change-width.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/udivrem-change-width.ll b/llvm/test/Transforms/InstCombine/udivrem-change-width.ll index 44824f3bb4f..f1d2d5f57a5 100644 --- a/llvm/test/Transforms/InstCombine/udivrem-change-width.ll +++ b/llvm/test/Transforms/InstCombine/udivrem-change-width.ll @@ -253,3 +253,25 @@ define i32 @urem_illegal_type_c(i9 %a) { ret i32 %urem } +define i32 @udiv_c_i32(i8 %a) { +; CHECK-LABEL: @udiv_c_i32( +; CHECK-NEXT: [[ZA:%.*]] = zext i8 %a to i32 +; CHECK-NEXT: [[UDIV:%.*]] = udiv i32 10, [[ZA]] +; CHECK-NEXT: ret i32 [[UDIV]] +; + %za = zext i8 %a to i32 + %udiv = udiv i32 10, %za + ret i32 %udiv +} + +define i32 @urem_c_i32(i8 %a) { +; CHECK-LABEL: @urem_c_i32( +; CHECK-NEXT: [[ZA:%.*]] = zext i8 %a to i32 +; CHECK-NEXT: [[UREM:%.*]] = urem i32 10, [[ZA]] +; CHECK-NEXT: ret i32 [[UREM]] +; + %za = zext i8 %a to i32 + %urem = urem i32 10, %za + ret i32 %urem +} + |

