fallback: legalize: G_MUL <8 x s8>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_MUL <8 x s8>
Occurrences:51 in 36 configs, 13 test files
Snippet from:rvp-simd-64.ll @test_pmul_b via llvm-extract
Config:-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define <8 x i8> @test_pmul_b(<8 x i8> %a, <8 x i8> %b) {
  %res = mul <8 x i8> %a, %b
  ret <8 x i8> %res
}

Reproduce:

llc -mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %2:_(<8 x s8>) = G_MUL %0:_, %1:_ (in function: test_pmul_b)
warning: Instruction selection used fallback path for test_pmul_b

Occurrences (51) (first 50):

InputFunctionConfig
rvp-simd-64.lltest_pmul_b-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
branch.6800025d96.ll (mutant of branch.ll)foo-mtriple=riscv32 -verify-machineinstrs
branch.f4a8b102e9.ll (mutant of branch.ll)foo-mtriple=riscv32 -verify-machineinstrs -block-placement-predecessor-limit=10
bswap-bitreverse.2c4e2f6773.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs
bswap-bitreverse.4ab3bd24fd.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv64 -mattr=+zbb,+experimental-p -verify-machineinstrs
bswap-bitreverse.95794f3e61.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv64 -mattr=+zbkb -verify-machineinstrs
bswap-bitreverse.c77e91b58a.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv32 -mattr=+zbb -verify-machineinstrs
bswap-bitreverse.d0f77a7338.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv32 -verify-machineinstrs
bswap-bitreverse.df21506dca.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv64 -verify-machineinstrs
bswap-bitreverse.e7aa087e72.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv64 -mattr=+zbb -verify-machineinstrs
bswap-bitreverse.fa19b6ddab.ll (mutant of bswap-bitreverse.ll)test_bitreverse_bswap_i32-mtriple=riscv32 -mattr=+zbb,+experimental-p -verify-machineinstrs
double_reduct.1fafb04500.ll (mutant of double_reduct.ll)umax_i32-mtriple=riscv32 -mattr=+d,+zfh,+zvfh,+v,+m -target-abi=ilp32d -verify-machineinstrs
double_reduct.e69fe3e86f.ll (mutant of double_reduct.ll)umax_i32-mtriple=riscv64 -mattr=+d,+zfh,+zvfh,+v,+m -target-abi=lp64d -verify-machineinstrs
fold-mem-offset.5fe5cac64b.ll (mutant of fold-mem-offset.ll)test_optsize-mtriple=riscv64
fold-mem-offset.d51403f8fc.ll (mutant of fold-mem-offset.ll)test_optsize-mtriple=riscv64 -mattr=+zba
fold-mem-offset.d82cd25f80.ll (mutant of fold-mem-offset.ll)test_optsize-mtriple=riscv32 -mattr=+zba
fold-mem-offset.f62ff55993.ll (mutant of fold-mem-offset.ll)test_optsize-mtriple=riscv32
half-zfa-fli.3a15a00617.ll (mutant of half-zfa-fli.ll)loadfpimm13-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfh
half-zfa-fli.46aeb5aad4.ll (mutant of half-zfa-fli.ll)loadfpimm13-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfhmin
half-zfa-fli.c8faac351f.ll (mutant of half-zfa-fli.ll)loadfpimm13-mtriple=riscv64 -target-abi lp64f -mattr=+zfa,+zfhmin
half-zfa-fli.f34477598b.ll (mutant of half-zfa-fli.ll)loadfpimm13-mtriple=riscv32 -target-abi ilp32f -mattr=+zfa,+zfh
libcall-tail-calls.146e15d862.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv32 -verify-machineinstrs
libcall-tail-calls.4f5abef6da.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv64 -verify-machineinstrs
libcall-tail-calls.630cc28975.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
libcall-tail-calls.98c8452c81.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64
libcall-tail-calls.9e0a132979.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
libcall-tail-calls.b8bb53bc67.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv64 -mattr=+f -verify-machineinstrs -target-abi=lp64f
libcall-tail-calls.d7f2a5351b.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv32 -mattr=+f -verify-machineinstrs -target-abi=ilp32f
libcall-tail-calls.fb77bed194.ll (mutant of libcall-tail-calls.ll)atomicrmw_add_i16_release-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32
llvm.frexp.3b5403f302.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv64 -verify-machineinstrs
llvm.frexp.6fcb3e2370.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs -target-abi=ilp32
llvm.frexp.76bb3fab4d.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv32 -verify-machineinstrs
llvm.frexp.ba8d0add9d.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
llvm.frexp.c8c3be4272.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
llvm.frexp.f9ef035a87.ll (mutant of llvm.frexp.ll)test_frexp_f128_i32-mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs -target-abi=lp64
narrow-shl-cst.7afae01042.ll (mutant of narrow-shl-cst.ll)test13-mtriple=riscv64
narrow-shl-cst.c5e6e9b12b.ll (mutant of narrow-shl-cst.ll)test13-mtriple=riscv32
select-constant-xor.28dfaff68a.ll (mutant of select-constant-xor.ll)xor_branch_ret-mtriple=riscv32
select-constant-xor.4bc1dd3c9d.ll (mutant of select-constant-xor.ll)xor_branch_ret-mtriple=riscv64
shadowcallstack.098abebf9b.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv32 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
shadowcallstack.b4e73a99ab.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv64 -verify-machineinstrs
shadowcallstack.beb677f8db.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv32 -mattr=+zimop -verify-machineinstrs
shadowcallstack.d814abb64b.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv32 -verify-machineinstrs -mattr=+zcmp,+zimop
shadowcallstack.dd95941422.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv32 -verify-machineinstrs
shadowcallstack.de2fb0445c.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv64 -mattr=+zimop -verify-machineinstrs
shadowcallstack.e2a45669c1.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv64 -verify-machineinstrs -mattr=+zcmp,+zimop,+zcmop
shadowcallstack.f491207685.ll (mutant of shadowcallstack.ll)f3_both-mtriple=riscv64 -mattr=+zimop,+zcmop -M no-aliases -verify-machineinstrs
signbit-test.22b51478e4.ll (mutant of signbit-test.ll)test_set_mask_i16_i7-mtriple=riscv32 -verify-machineinstrs
signbit-test.fc38baf8e9.ll (mutant of signbit-test.ll)test_set_mask_i16_i7-mtriple=riscv64 -verify-machineinstrs
zero-call-used-regs.29a8e52f12.ll (mutant of zero-call-used-regs.ll)used_zdinx-verify-machineinstrs -mtriple=riscv32-unknown-unknown

Generated 2026-10-15 08:05 UTC.