[llvm] [DAG] Fold mul 0 -> 0 when expanding mul into parts. (PR #168780)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 26 06:46:38 PST 2025
================
@@ -279,11 +279,11 @@ define i32 @si32_100(i32 %a, i32 %b) {
; CHECK-SD-LABEL: si32_100:
; CHECK-SD: // %bb.0: // %entry
; CHECK-SD-NEXT: mov w8, #34079 // =0x851f
-; CHECK-SD-NEXT: mov w9, #100 // =0x64
; CHECK-SD-NEXT: movk w8, #20971, lsl #16
; CHECK-SD-NEXT: smull x8, w0, w8
-; CHECK-SD-NEXT: asr x8, x8, #37
-; CHECK-SD-NEXT: add w8, w8, w8, lsr #31
+; CHECK-SD-NEXT: asr x9, x8, #37
+; CHECK-SD-NEXT: add x8, x9, x8, lsr #63
----------------
davemgreen wrote:
It should not be any slower (and could theoretically start the shift before finishing the asr, although I'm not sure that is something that happens in practice).
https://github.com/llvm/llvm-project/pull/168780
More information about the llvm-commits
mailing list