fallback: legalize: G_FSUB <4 x s32>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_FSUB <4 x s32> NEW
Occurrences:83 in 69 configs, 19 test files
Snippet from:alu32.59914fdb32.ll (mutant of alu32.ll) @srli_demandedbits via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/WddPc1Y7j (llc-assertions-trunk, checked 2026-10-15 08:04 UTC): G reproduces

Snippet:

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

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*05remark: <unknown>:0:0: unable to legalize instruction: %3:_(<4 x s32>) = G_FSUB %1:_, %1:_ (in function: srli_demandedbits)
warning: Instruction selection used fallback path for srli_demandedbits
SelectionDAG (control)-mtriple=riscv32 -verify-machineinstrs -global-isel=005-

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: %3:_(<4 x s32>) = G_FSUB %1:_, %1:_ (in function: srli_demandedbits)
warning: Instruction selection used fallback path for srli_demandedbits

Occurrences (83) (first 50):

InputFunctionConfig
abdu.014d9d4ff3.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv32
abdu.d4a7a9e6e5.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv64 -mattr=+zbb
abdu.e926fdbd71.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv32 -mattr=+zbb
abdu.ff97f11648.ll (mutant of abdu.ll)abd_ext_i32_undef-mtriple=riscv64
alu32.59914fdb32.ll (mutant of alu32.ll)srli_demandedbits-mtriple=riscv32 -verify-machineinstrs
alu32.d9275ccb44.ll (mutant of alu32.ll)srli_demandedbits-mtriple=riscv64 -verify-machineinstrs
compress-opt-select.9e9bd3276c.ll (mutant of compress-opt-select.ll)ne_medium_bedge_pos-mtriple=riscv32 -target-abi ilp32d -mattr=+c,+f,+d -M no-aliases
compress-opt-select.a0549cc86c.ll (mutant of compress-opt-select.ll)ne_medium_bedge_pos-mtriple=riscv32 -target-abi ilp32d -mattr=+zca,+f,+d -M no-aliases
compress-opt-select.ace03e2948.ll (mutant of compress-opt-select.ll)ne_medium_bedge_pos-mtriple=riscv32 -target-abi ilp32d -mattr=-c,+f,+d -M no-aliases
ctlz-cttz-ctpop.0899951913.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv32 -verify-machineinstrs
ctlz-cttz-ctpop.1df1a4527b.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv32 -mattr=+xtheadbb -verify-machineinstrs
ctlz-cttz-ctpop.287a02c471.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv64 -mattr=+zbb -verify-machineinstrs
ctlz-cttz-ctpop.443db81b5e.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv64 -mattr=+xtheadbb -verify-machineinstrs
ctlz-cttz-ctpop.d019088c48.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv32 -mattr=+m -verify-machineinstrs
ctlz-cttz-ctpop.d411b1f7da.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv64 -mattr=+m -verify-machineinstrs
ctlz-cttz-ctpop.d88fe5cc3f.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv32 -mattr=+zbb -verify-machineinstrs
ctlz-cttz-ctpop.fe87b36f56.ll (mutant of ctlz-cttz-ctpop.ll)test_ctlz_i8-mtriple=riscv64 -verify-machineinstrs
div-by-constant.4bd77852f4.ll (mutant of div-by-constant.ll)sdiv_constant_no_srai-mtriple=riscv32 -mattr=+m,+zba,+zbb -verify-machineinstrs
div-by-constant.64a9788174.ll (mutant of div-by-constant.ll)sdiv_constant_no_srai-mtriple=riscv64 -mattr=+m -verify-machineinstrs
div-by-constant.64cc27bfd0.ll (mutant of div-by-constant.ll)sdiv_constant_no_srai-mtriple=riscv64 -mattr=+m,+zba,+zbb -verify-machineinstrs
div-by-constant.9f7958a494.ll (mutant of div-by-constant.ll)sdiv_constant_no_srai-mtriple=riscv32 -mattr=+m -verify-machineinstrs
double-fcmp-strict.436e3dca9b.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -mattr=+d -verify-machineinstrs -disable-strictnode-mutation -target-abi=lp64d
double-fcmp-strict.6607ab1c38.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs -disable-strictnode-mutation -target-abi=lp64
double-fcmp-strict.6c918c880a.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -verify-machineinstrs -disable-strictnode-mutation
double-fcmp-strict.7319e727e8.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -mattr=+d -verify-machineinstrs -disable-strictnode-mutation -target-abi=ilp32d
double-fcmp-strict.c07ae69ae7.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs -disable-strictnode-mutation -target-abi=ilp32
double-fcmp-strict.c5b643a054.ll (mutant of double-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -verify-machineinstrs -disable-strictnode-mutation
double-round-conv-sat.5ecc0914fd.ll (mutant of double-round-conv-sat.ll)test_trunc_si32-mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs -target-abi=lp64
double-round-conv-sat.623c24bff4.ll (mutant of double-round-conv-sat.ll)test_trunc_si32-mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs -target-abi=ilp32
double-round-conv-sat.a0f11550af.ll (mutant of double-round-conv-sat.ll)test_trunc_si32-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
double-round-conv-sat.eaa9879505.ll (mutant of double-round-conv-sat.ll)test_trunc_si32-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
float-fcmp-strict.328b4d0f0d.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -verify-machineinstrs -disable-strictnode-mutation
float-fcmp-strict.35e7a6930f.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -verify-machineinstrs -disable-strictnode-mutation
float-fcmp-strict.5271cc7445.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -mattr=+zfinx -verify-machineinstrs -disable-strictnode-mutation -target-abi=lp64
float-fcmp-strict.9892f9ca24.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -mattr=+f -verify-machineinstrs -disable-strictnode-mutation -target-abi=ilp32f
float-fcmp-strict.aadae3c83b.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv64 -mattr=+f -verify-machineinstrs -disable-strictnode-mutation -target-abi=lp64f
float-fcmp-strict.d554cb66cc.ll (mutant of float-fcmp-strict.ll)fcmp_ugt-mtriple=riscv32 -mattr=+zfinx -verify-machineinstrs -disable-strictnode-mutation -target-abi=ilp32
float-round-conv-sat.46e3a09ef1.ll (mutant of float-round-conv-sat.ll)test_trunc_si32-mtriple=riscv32 -mattr=+zfinx -verify-machineinstrs -target-abi=ilp32
float-round-conv-sat.6088e2dc88.ll (mutant of float-round-conv-sat.ll)test_trunc_si32-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
float-round-conv-sat.77ef0a0af3.ll (mutant of float-round-conv-sat.ll)test_trunc_si32-mtriple=riscv64 -mattr=+f -verify-machineinstrs -target-abi=lp64f
float-round-conv-sat.b66e790189.ll (mutant of float-round-conv-sat.ll)test_trunc_si32-mtriple=riscv64 -mattr=+zfinx -verify-machineinstrs -target-abi=lp64
ghccc-rv32.ec630d4456.ll (mutant of ghccc-rv32.ll)foo-mtriple=riscv32 -mattr=+f,+d
ghccc-rv64.18ae10fde5.ll (mutant of ghccc-rv64.ll)foo-mtriple=riscv64 -mattr=+f,+d
half-arith.13d4cb6f82.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv64 -mattr=+zfh -verify-machineinstrs -target-abi lp64f
half-arith.2f424eb781.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv32 -mattr=+zfh -verify-machineinstrs -target-abi ilp32f
half-arith.3cc951ff65.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv64 -verify-machineinstrs
half-arith.4014fdfe0b.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv32 -mattr=+zfhmin -verify-machineinstrs -target-abi ilp32f
half-arith.6c5a115d8d.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv32 -mattr=+zhinx -verify-machineinstrs -target-abi ilp32
half-arith.70cb02d490.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv64 -mattr=+zhinx -verify-machineinstrs -target-abi lp64
half-arith.a015c43011.ll (mutant of half-arith.ll)fabs_h-mtriple=riscv64 -mattr=+zhinxmin -verify-machineinstrs -target-abi lp64

Generated 2026-10-15 08:05 UTC.