fallback: legalize: G_FMUL <4 x s32>

Run:main-04ca53e65f-20261014-113325
Kind:fallback
Category:legalize: G_FMUL <4 x s32> NEW
Occurrences:66 in 48 configs, 18 test files
Snippet from:half-zfa-fli.32d01263d3.ll (mutant of half-zfa-fli.ll) @loadfpimm15 via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh
Local check:reproduces at 04ca53e65f
Compiler Explorer:https://godbolt.org/z/P5cWEh5EE (llc-assertions-trunk, checked 2026-10-14 11:04 UTC): G reproduces

Snippet:

define <4 x float> @loadfpimm15() {
  %B = fmul <4 x float> zeroinitializer, zeroinitializer
  ret <4 x float> %B
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*05remark: <unknown>:0:0: unable to legalize instruction: %3:_(<4 x s32>) = G_FMUL %1:_, %1:_ (in function: loadfpimm15)
warning: Instruction selection used fallback path for loadfpimm15
SelectionDAG (control)-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh -global-isel=005-

Reproduce:

llc -mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %3:_(<4 x s32>) = G_FMUL %1:_, %1:_ (in function: loadfpimm15)
warning: Instruction selection used fallback path for loadfpimm15

Occurrences (66) (first 50):

InputFunctionConfig
and-negpow2-cmp.700f2a075a.ll (mutant of and-negpow2-cmp.ll)PR221593-mtriple=riscv64
and-negpow2-cmp.cd360cc52c.ll (mutant of and-negpow2-cmp.ll)PR221593-mtriple=riscv32
and.308a8333d2.ll (mutant of and.ll)and64_0x00000000fffffff8-mtriple=riscv32 -verify-machineinstrs
and.646823013f.ll (mutant of and.ll)and64_0x00000000fffffff8-mtriple=riscv64 -verify-machineinstrs
fold-mem-offset.21feb1ecdd.ll (mutant of fold-mem-offset.ll)pr228053_frameindex_crash-mtriple=riscv32
fold-mem-offset.31abbff133.ll (mutant of fold-mem-offset.ll)pr228053_frameindex_crash-mtriple=riscv64 -mattr=+zba
fold-mem-offset.83e88b513c.ll (mutant of fold-mem-offset.ll)pr228053_frameindex_crash-mtriple=riscv32 -mattr=+zba
fold-mem-offset.d8143e209e.ll (mutant of fold-mem-offset.ll)pr228053_frameindex_crash-mtriple=riscv64
ghccc-without-f-reg.40f62611eb.ll (mutant of ghccc-without-f-reg.ll)caller_float-mtriple=riscv64 -mattr=+zfinx,+zdinx
half-zfa-fli.32d01263d3.ll (mutant of half-zfa-fli.ll)loadfpimm15-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh
half-zfa-fli.bcf1b05193.ll (mutant of half-zfa-fli.ll)loadfpimm15-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfh
half-zfa-fli.ecf544944a.ll (mutant of half-zfa-fli.ll)loadfpimm15-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin
half-zfa-fli.f5f2821706.ll (mutant of half-zfa-fli.ll)loadfpimm15-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfhmin
neg-abs.262b77a4e1.ll (mutant of neg-abs.ll)expanded_neg_inv_abs64_unsigned-mtriple=riscv32 -verify-machineinstrs
neg-abs.30bc6b166a.ll (mutant of neg-abs.ll)expanded_neg_inv_abs64_unsigned-mtriple=riscv32 -mattr=+zbb -verify-machineinstrs
neg-abs.4073111123.ll (mutant of neg-abs.ll)expanded_neg_inv_abs64_unsigned-mtriple=riscv64 -mattr=+zbb -verify-machineinstrs
neg-abs.ba1df49813.ll (mutant of neg-abs.ll)expanded_neg_inv_abs64_unsigned-mtriple=riscv64 -verify-machineinstrs
select-binop-identity.0de7e16f8f.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv32 -verify-machineinstrs
select-binop-identity.159f2a2790.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv64 -mattr=+zicond -verify-machineinstrs
select-binop-identity.45f6859701.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv64 -mattr=+c,+conditional-cmv-fusion -verify-machineinstrs
select-binop-identity.b7aa3d4791.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv32 -mattr=+zicond -verify-machineinstrs
select-binop-identity.ca5f76f45a.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv64 -verify-machineinstrs
select-binop-identity.eb83aa89f4.ll (mutant of select-binop-identity.ll)sub_select_all_zeros_i64-mtriple=riscv64 -mcpu=sifive-u74 -verify-machineinstrs
select-constant-xor.46f1106f01.ll (mutant of select-constant-xor.ll)selecti32i64-mtriple=riscv32
select-constant-xor.8ca1404173.ll (mutant of select-constant-xor.ll)selecti32i64-mtriple=riscv64
selectcc-to-shiftand.40d3132467.ll (mutant of selectcc-to-shiftand.ll)sraiw_andi-mtriple=riscv64 -mattr=+zbb
selectcc-to-shiftand.497818f312.ll (mutant of selectcc-to-shiftand.ll)sraiw_andi-mtriple=riscv64
selectcc-to-shiftand.4db744f223.ll (mutant of selectcc-to-shiftand.ll)sraiw_andi-mtriple=riscv32
selectcc-to-shiftand.aeb2395fe2.ll (mutant of selectcc-to-shiftand.ll)sraiw_andi-mtriple=riscv32 -mattr=+zbb
sfb-merge-base-offset.0f21a06e1b.ll (mutant of sfb-merge-base-offset.ll)load_cond_ga_word-mtriple=riscv32 -verify-machineinstrs -mattr=+xqci,+short-forward-branch-iload
sfb-merge-base-offset.34373c1bd4.ll (mutant of sfb-merge-base-offset.ll)load_cond_ga_word-mtriple=riscv32 -verify-machineinstrs -mattr=+short-forward-branch-iload
sfb-merge-base-offset.37132f5482.ll (mutant of sfb-merge-base-offset.ll)load_cond_ga_word-mtriple=riscv64 -verify-machineinstrs -mattr=+short-forward-branch-iload
shadowcallstack.0259ef00cc.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv32 -verify-machineinstrs
shadowcallstack.0989e4bf35.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv64 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
shadowcallstack.226e78fe21.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv32 -verify-machineinstrs -mattr=+zcmp,+zimop
shadowcallstack.4a6b3af0ee.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv32 -mattr=+zimop -verify-machineinstrs
shadowcallstack.5950681a93.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv64 -verify-machineinstrs -mattr=+zcmp,+zimop,+zcmop
shadowcallstack.5ff099dcd2.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv64 -verify-machineinstrs
shadowcallstack.d048b8f1f6.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv32 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
shadowcallstack.d07864abc6.ll (mutant of shadowcallstack.ll)f5_both-mtriple=riscv64 -mattr=+zimop -verify-machineinstrs
stack-clash-prologue.6a28103beb.ll (mutant of stack-clash-prologue.ll)f3-mtriple=riscv64 -mattr=+m -O2
stack-clash-prologue.bc15e761f9.ll (mutant of stack-clash-prologue.ll)f3-mtriple=riscv32 -mattr=+m -O2
vararg-ilp32e.9389e0f093.ll (mutant of vararg-ilp32e.ll)va_double-mtriple=riscv32 -target-abi ilp32e -frame-pointer=all -verify-machineinstrs
vararg-ilp32e.eda8a49f26.ll (mutant of vararg-ilp32e.ll)va_double-mtriple=riscv32 -target-abi ilp32e -verify-machineinstrs
vararg.116ee3332f.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs
vararg.225ff0b189.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs
vararg.2cc837e593.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv64 -verify-machineinstrs
vararg.2fcd68b5d2.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv32 -verify-machineinstrs
vararg.337df7a640.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv64 -target-abi lp64e -verify-machineinstrs
vararg.3d9c31c9bb.ll (mutant of vararg.ll)va_large_stack-mtriple=riscv64 -verify-machineinstrs -frame-pointer=all

Generated 2026-10-15 08:05 UTC.