[llvm] [InstCombine] Fix fail to fold (A >> C1) Pred C2 if shr is used multple times #83430 (PR #83563)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 3 21:36:25 PST 2024


================
@@ -10,7 +10,8 @@ define i64 @dont_break_minmax_i64(i64 %conv, i64 %conv2) {
 ; CHECK-SAME: (i64 [[CONV:%.*]], i64 [[CONV2:%.*]]) {
 ; CHECK-NEXT:    [[MUL:%.*]] = mul nsw i64 [[CONV]], [[CONV2]]
 ; CHECK-NEXT:    [[SHR:%.*]] = ashr i64 [[MUL]], 4
-; CHECK-NEXT:    [[SPEC_SELECT_I:%.*]] = call i64 @llvm.smin.i64(i64 [[SHR]], i64 348731)
+; CHECK-NEXT:    [[CMP4_I:%.*]] = icmp slt i64 [[MUL]], 5579712
----------------
dtcxzyw wrote:

> Failed Tests (3):
  LLVM :: Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
  LLVM :: Transforms/PhaseOrdering/icmp-ashr-breaking-select-idiom.ll
  LLVM :: Transforms/PhaseOrdering/loop-access-checks.ll

@SahilPatidar Please update these tests.

https://github.com/llvm/llvm-project/pull/83563


More information about the llvm-commits mailing list