fallback: legalize: G_FMUL <4 x s32>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_FMUL <4 x s32> NEW
Occurrences:19 in 18 configs, 6 test files
Snippet from:rv32zbkb.ab19886123.ll (mutant of rv32zbkb.ll) @packh_i64 via llvm-extract + llvm-reduce
Config:-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/PM334vrjW (llc-assertions-trunk, checked 2026-10-15 08:05 UTC): G reproduces

Snippet:

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

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv32 -mattr=+zbkb -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_FMUL %1:_, %1:_ (in function: packh_i64)
warning: Instruction selection used fallback path for packh_i64
SelectionDAG (control)-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs -global-isel=005-

Reproduce:

llc -mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs -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: packh_i64)
warning: Instruction selection used fallback path for packh_i64

Occurrences (19):

InputFunctionConfig
calling-conv-sext-zext.1b96a26c32.ll (mutant of calling-conv-sext-zext.ll)ret_callresult_uint8_as_anyint32-mtriple=riscv32 -verify-machineinstrs
imm.03536f3ef1.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm
imm.07c4376eb7.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -verify-machineinstrs
imm.0f186209bb.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+xtheadbb -verify-machineinstrs
imm.26116d825d.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zbb -verify-machineinstrs
imm.3723eba61c.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm
imm.87bcd57586.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zbs -verify-machineinstrs
imm.a6e05aee87.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs
imm.ae40a1f221.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zba -verify-machineinstrs
imm.eec7c14b19.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -mattr=+xqcili -verify-machineinstrs
imm.f1c2c197c8.ll (mutant of imm.ll)imm_12900918536874-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs
memmove.447c004ae7.ll (mutant of memmove.ll)unaligned_memmove16-mtriple=riscv64 -mattr=+unaligned-scalar-mem
memmove.5d02837249.ll (mutant of memmove.ll)unaligned_memmove16-mtriple=riscv32 -mattr=+unaligned-scalar-mem
memmove.cca8a4e17a.ll (mutant of memmove.ll)unaligned_memmove16-mtriple=riscv64
memmove.e6472ee1cb.ll (mutant of memmove.ll)unaligned_memmove16-mtriple=riscv32
rv32zbkb.ab19886123.ll (mutant of rv32zbkb.ll)packh_i64-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs
rv32zbkb.d8d868ee0f.ll (mutant of rv32zbkb.ll)packh_i64-mtriple=riscv32 -verify-machineinstrs
rvp-mul-parts-acc-fold.489b8ac9d2.ll (mutant of rvp-mul-parts-acc-fold.ll)macc_w00-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-32.684bad5acc.ll (mutant of rvp-simd-32.ll)test_sle_h-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.