fallback: legalize: G_EXTRACT_VECTOR_ELT s16,<4 x s16>,s32

Run:main-04ca53e65f-20261014-105623
Kind:fallback
Category:legalize: G_EXTRACT_VECTOR_ELT s16,<4 x s16>,s32
Occurrences:3 in 1 configs, 1 test files
Snippet from:pr92193.ll @foo via llvm-extract
Config:-mtriple=riscv32-unknown-linux-gnu
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define i16 @foo() {
entry:
  %insert.0 = insertelement <4 x i16> zeroinitializer, i16 2, i64 0
  %all.two = shufflevector <4 x i16> %insert.0, <4 x i16> zeroinitializer, <4 x i32> zeroinitializer
  %sel.0 = select <4 x i1> <i1 true, i1 false, i1 false, i1 false>, <4 x i16> zeroinitializer, <4 x i16> %all.two
  %mul.0 = call i16 @llvm.vector.reduce.mul.v4i16(<4 x i16> %sel.0)
  ret i16 %mul.0
}

; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i16 @llvm.vector.reduce.mul.v4i16(<4 x i16>) #0

attributes #0 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }

Reproduce:

llc -mtriple=riscv32-unknown-linux-gnu -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv32-unknown-linux-gnu -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %15:_(s16) = G_EXTRACT_VECTOR_ELT %14:_(<4 x s16>), %4:_(s32) (in function: foo)
warning: Instruction selection used fallback path for foo

Occurrences (3):

InputFunctionConfig
pr92193.llfoo-mtriple=riscv32-unknown-linux-gnu
pr92193.21216810e0.ll (mutant of pr92193.ll)foo-mtriple=riscv32-unknown-linux-gnu
pr92193.f927ec482f.ll (mutant of pr92193.ll)foo-mtriple=riscv32-unknown-linux-gnu

Generated 2026-10-15 08:05 UTC.