fallback: legalize: G_FMUL s128

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_FMUL s128 NEW
Occurrences:11 in 8 configs, 3 test files
Snippet from:calling-conv-ilp32-ilp32f-ilp32d-common.2e11e46b0e.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll) @caller_mixed_scalar_libcalls via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/6r15b71zG (llc-assertions-trunk, checked 2026-10-15 08:05 UTC): G reproduces

Snippet:

define fp128 @caller_mixed_scalar_libcalls(fp128 %0) {
  %B = fmul fp128 %0, 0.000000e+00
  ret fp128 %B
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*032remark: <unknown>:0:0: unable to legalize instruction: %4:_(s128) = G_FMUL %0:_, %3:_ (in function: caller_mixed_scalar_libcalls)
warning: Instruction selection used fallback path for caller_mixed_scalar_libcalls
SelectionDAG (control)-mtriple=riscv32 -verify-machineinstrs -global-isel=0032-

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: %4:_(s128) = G_FMUL %0:_, %3:_ (in function: caller_mixed_scalar_libcalls)
warning: Instruction selection used fallback path for caller_mixed_scalar_libcalls

Occurrences (11):

InputFunctionConfig
calling-conv-ilp32-ilp32f-ilp32d-common.2e11e46b0e.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -verify-machineinstrs
calling-conv-ilp32-ilp32f-ilp32d-common.87ba1f0843.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all
calling-conv-ilp32-ilp32f-ilp32d-common.8e13a9b197.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs
calling-conv-ilp32-ilp32f-ilp32d-common.9e0f37d48c.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs
calling-conv-ilp32-ilp32f-ilp32d-common.b9cb150719.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all -mattr=+f -target-abi ilp32f
calling-conv-ilp32-ilp32f-ilp32d-common.c3df5a4989.ll (mutant of calling-conv-ilp32-ilp32f-ilp32d-common.ll)caller_mixed_scalar_libcalls-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all -mattr=+d -target-abi ilp32d
llvm.sincos.811f80f531.ll (mutant of llvm.sincos.ll)test_sincos_f128-mtriple=riscv32-linux-gnu -mattr=+d
lrint-conv.b20a4364b9.ll (mutant of lrint-conv.ll)test_lrint_ixx_f128-mtriple=riscv32
lrint-conv.b20a4364b9.ll (mutant of lrint-conv.ll)test_lrint_ixx_f128-mtriple=riscv32
lrint-conv.cd7dbe7179.ll (mutant of lrint-conv.ll)test_llrint_ixx_f128-mtriple=riscv32
lrint-conv.cd7dbe7179.ll (mutant of lrint-conv.ll)test_llrint_ixx_f128-mtriple=riscv32

Generated 2026-10-15 08:05 UTC.