fallback: legalize: G_BITCAST s32,<2 x s16>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_BITCAST s32,<2 x s16>
Occurrences:22 in 2 configs, 3 test files
Snippet from:rvp-bitcast-const-fold.ll @pnot_v2i16 via llvm-extract
Config:-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define i32 @pnot_v2i16(i32 %a) {
  %bc = bitcast i32 %a to <2 x i16>
  %not = xor <2 x i16> %bc, splat (i16 -1)
  %res = bitcast <2 x i16> %not to i32
  ret i32 %res
}

Reproduce:

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

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %5:_(s32) = G_BITCAST %4:_(<2 x s16>) (in function: pnot_v2i16)
warning: Instruction selection used fallback path for pnot_v2i16

Occurrences (22):

InputFunctionConfig
rvp-bitcast-const-fold.llpnot_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.llpnot_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.lltrunc_lshr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.lltrunc_ashr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.lltrunc_lshr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.lltrunc_ashr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-zip.lltest_punzipe_v2i16_coerce-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-zip.lltest_punzipo_v2i16_coerce-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.7f1cad026b.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.891638e4af.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.b88311e369.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.c20adaf840.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.0985d6bad7.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_lshr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.2a762349c0.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.2efeca1e04.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.40e4917b37.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.ba6b54f9a2.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_lshr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.c5799ec1c2.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.c8219937e3.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.d6c69036c0.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.d80a6f49d6.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-narrowing-shift-trunc.ff6bdaba79.ll (mutant of rvp-narrowing-shift-trunc.ll)trunc_ashr_v2i32_to_v2i16-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.