fallback: legalize: G_UMULH s64

Run:explore-04ca53e65f-20261014-114124
Kind:fallback
Category:legalize: G_UMULH s64
Occurrences:74 in 31 configs, 28 test files
Snippet from:div.ll @udiv64_constant via llvm-extract
Config:-mtriple=riscv32 -verify-machineinstrs
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

; Function Attrs: nounwind
define i64 @udiv64_constant(i64 %a) #0 {
  %1 = udiv i64 %a, 5
  ret i64 %1
}

attributes #0 = { nounwind }

Reproduce:

llc -mtriple=riscv32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -verify-machineinstrs -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %11:_(s64) = G_UMULH %0:_, %8:_ (in function: udiv64_constant)
warning: Instruction selection used fallback path for udiv64_constant

Occurrences (74) (first 50):

InputFunctionConfig
bitint-fp-conv-200.lltest_float_to_bitint_200-mtriple=riscv32 -verify-machineinstrs
div.lludiv64_constant-mtriple=riscv32 -verify-machineinstrs
fp128.llfptosi_fp128_to_i96-mtriple=riscv32 -verify-machineinstrs
fpclamptosat.llstest_f64i64-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llustest_f64i64-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llstest_f32i64-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llustest_f32i64-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llstest_f64i64_mm-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llustest_f64i64_mm-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llstest_f32i64_mm-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
fpclamptosat.llustest_f32i64_mm-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
mul.llmuli128_m3840-mtriple=riscv32 -verify-machineinstrs
mul.llmuli128_m63-mtriple=riscv32 -verify-machineinstrs
mul.llmulhsu_i64-mtriple=riscv32 -verify-machineinstrs
umulh.llumulh_i64-mtriple=riscv32
umulh.llumulh_v1i64-mtriple=riscv32
urem-lkk.lldont_fold_urem_i64-mtriple=riscv32 -verify-machineinstrs
abdu-neg.b180ede9de.ll (mutant of abdu-neg.ll)abd_ext_i32_undef-mtriple=riscv32
abdu-neg.bec6c3193e.ll (mutant of abdu-neg.ll)abd_ext_i32_undef-mtriple=riscv32 -mattr=+zbb
abdu.4b18b36544.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv32
abdu.e728f877d4.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv32 -mattr=+zbb
add-before-shl.5ad79ae0b6.ll (mutant of add-before-shl.ll)add_wide_operand-mtriple=riscv32 -mattr=+c -verify-machineinstrs -M no-aliases
add-before-shl.781ead846d.ll (mutant of add-before-shl.ll)add_wide_operand-mtriple=riscv32 -verify-machineinstrs -M no-aliases
add-before-shl.81065c912f.ll (mutant of add-before-shl.ll)add_wide_operand-mtriple=riscv32 -mattr=+zca -verify-machineinstrs -M no-aliases
atomic-fence.3799f6c6c6.ll (mutant of atomic-fence.ll)fence_singlethread_acquire-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomic-fence.422ee53f2e.ll (mutant of atomic-fence.ll)fence_singlethread_acquire-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomic-fence.76107451f6.ll (mutant of atomic-fence.ll)fence_singlethread_acquire-mtriple=riscv32 -mattr=+zalrsc -verify-machineinstrs
atomic-fence.7b542961cb.ll (mutant of atomic-fence.ll)fence_singlethread_acquire-mtriple=riscv32 -verify-machineinstrs
atomic-rmw-minmax.3f9aa9775c.ll (mutant of atomic-rmw-minmax.ll)atomicrmw_max_i64_seq_cst-mtriple=riscv32 -mattr=+b,+zalrsc -verify-machineinstrs
atomic-rmw-minmax.8a19e34eca.ll (mutant of atomic-rmw-minmax.ll)atomicrmw_max_i64_seq_cst-mtriple=riscv32 -mattr=+b,+zalrsc,+permissive-zalrsc -verify-machineinstrs
atomic-rmw-minmax.e860e95e12.ll (mutant of atomic-rmw-minmax.ll)atomicrmw_max_i64_seq_cst-mtriple=riscv32 -mattr=+b,+zalrsc,+permissive-zalrsc,+a -verify-machineinstrs
atomicrmw-cond-sub-clamp.01c3e3511a.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_sat_i8-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomicrmw-cond-sub-clamp.24bd5b0313.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_sat_i8-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-cond-sub-clamp.7358bdde9b.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_sat_i8-mtriple=riscv32 -verify-machineinstrs
atomicrmw-uinc-udec-wrap.508e722342.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_udec_wrap_i8-mtriple=riscv32 -verify-machineinstrs
atomicrmw-uinc-udec-wrap.693181db43.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_udec_wrap_i8-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-uinc-udec-wrap.db353115b9.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_udec_wrap_i8-mtriple=riscv32 -mattr=+a -verify-machineinstrs
bitint-fp-conv-200.8f85fabff9.ll (mutant of bitint-fp-conv-200.ll)test_float_to_bitint_200-mtriple=riscv32 -verify-machineinstrs
calling-conv-half.04ad88347c.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -mattr=+f -target-abi=ilp32 -verify-machineinstrs
calling-conv-half.1179a9e699.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -mattr=+f -mattr=+zfh -verify-machineinstrs -target-abi ilp32 -O1
calling-conv-half.39e5ce6fed.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -verify-machineinstrs
calling-conv-half.79681ea424.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -mattr=+f -mattr=+zfh -verify-machineinstrs -target-abi ilp32f -O1
calling-conv-half.c63e0d49ab.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -mattr=+f -target-abi=ilp32f -verify-machineinstrs
calling-conv-half.dd62ff68b0.ll (mutant of calling-conv-half.ll)callee_half_on_stack_exhausted_gprs_fprs-mtriple=riscv32 -mattr=+f,+zfhmin -target-abi=ilp32f -verify-machineinstrs
fmax-fmin.643884bb8d.ll (mutant of fmax-fmin.ll)minnum_f32-mtriple=riscv32 -verify-machineinstrs
iabs.7560c8b4ca.ll (mutant of iabs.ll)select_abs128-mtriple=riscv32 -mattr=+zbb -verify-machineinstrs
iabs.d3c29ae8f4.ll (mutant of iabs.ll)select_abs128-mtriple=riscv32 -verify-machineinstrs
lrint-conv.39954ad767.ll (mutant of lrint-conv.ll)test_lrint_ixx_f64-mtriple=riscv32
lrint-conv.39954ad767.ll (mutant of lrint-conv.ll)test_lrint_ixx_f64-mtriple=riscv32
mul.04ea0b0bab.ll (mutant of mul.ll)muli128_m63-mtriple=riscv32 -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.