[llvm] [LegalizeTypes] Expand 128-bit UDIV/UREM by constant via Chunk Addition (PR #146238)

Sam Elliott via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 20:14:57 PST 2026


================
@@ -115,16 +115,76 @@ define i64 @udiv64_constant_no_add(i64 %a) nounwind {
 }
 
 define i64 @udiv64_constant_add(i64 %a) nounwind {
-; RV32-LABEL: udiv64_constant_add:
-; RV32:       # %bb.0:
-; RV32-NEXT:    addi sp, sp, -16
-; RV32-NEXT:    sw ra, 12(sp) # 4-byte Folded Spill
-; RV32-NEXT:    li a2, 7
-; RV32-NEXT:    li a3, 0
-; RV32-NEXT:    call __udivdi3
----------------
lenary wrote:

Have we lost RISC-V coverage here? Maybe a different version of the same question: is there any constant here that would still cause a libcall on rv32 (where i32 is not legal but i64 is)

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


More information about the llvm-commits mailing list