[llvm] [SelectionDAG] optimize sdiv with positive divisor and positive magic (PR #189287)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 01:28:51 PDT 2026


================
@@ -6,10 +6,11 @@
 define i32 @f1(i32 %a) {
 ; CHECK-LABEL: f1:
 ; CHECK: lgfr [[REG:%r[0-5]]], %r2
+; CHECK: sra %r2, 31
 ; CHECK: msgfi [[REG]], 502748801
-; CHECK-DAG: srlg [[RES1:%r[0-5]]], [[REG]], 63
-; CHECK-DAG: srag %r2, [[REG]], 46
-; CHECK: ar %r2, [[RES1]]
+; CHECK: srag [[REG]], [[REG]], 46
+; CHECK: sr [[REG]], %r2
+; CHECK: lr %r2, [[REG]]
----------------
uweigand wrote:

Both changes in this file are regressions, they now require one extra register reload that was not needed before ...

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


More information about the llvm-commits mailing list