diff options
Diffstat (limited to 'llvm/test/Transforms/InstCombine/udiv-simplify.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/udiv-simplify.ll | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/test/Transforms/InstCombine/udiv-simplify.ll b/llvm/test/Transforms/InstCombine/udiv-simplify.ll index bd6e5ef..0af3348 100644 --- a/llvm/test/Transforms/InstCombine/udiv-simplify.ll +++ b/llvm/test/Transforms/InstCombine/udiv-simplify.ll @@ -55,12 +55,13 @@ define i64 @test2_PR2274(i32 %x, i32 %v) nounwind { define i32 @PR30366(i1 %a) { ; CHECK-LABEL: @PR30366( ; CHECK-NEXT: [[Z:%.*]] = zext i1 [[A:%.*]] to i32 -; CHECK-NEXT: [[Z2:%.*]] = zext nneg i16 shl (i16 1, i16 ptrtoint (ptr @b to i16)) to i32 -; CHECK-NEXT: [[D:%.*]] = udiv i32 [[Z]], [[Z2]] -; CHECK-NEXT: ret i32 [[D]] +; CHECK-NEXT: [[TMP1:%.*]] = zext nneg i16 ptrtoint (ptr @b to i16) to i32 +; CHECK-NEXT: [[D1:%.*]] = lshr i32 [[Z]], [[TMP1]] +; CHECK-NEXT: ret i32 [[D1]] ; %z = zext i1 %a to i32 - %z2 = zext i16 shl (i16 1, i16 ptrtoint (ptr @b to i16)) to i32 + %shl = shl i16 1, ptrtoint (ptr @b to i16) + %z2 = zext i16 %shl to i32 %d = udiv i32 %z, %z2 ret i32 %d } |