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

Run:main-04ca53e65f-20261014-105623
Kind:fallback
Category:legalize: G_BITCAST s64,<2 x s32>
Occurrences:31 in 7 configs, 4 test files
Snippet from:mul.ll @mul_add_bitcast via llvm-extract
Config:-mtriple=riscv32 -mattr=+m -verify-machineinstrs
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define i64 @mul_add_bitcast(i64 %x) {
  %add = add i64 %x, 1
  %bitcast = bitcast <2 x i32> zeroinitializer to i64
  %mul = mul i64 %add, %bitcast
  ret i64 %mul
}

Reproduce:

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

Local llc output:

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

Occurrences (31):

InputFunctionConfig
mul.llmul_add_bitcast-mtriple=riscv32 -mattr=+m -verify-machineinstrs
mul.llmul_add_bitcast-mtriple=riscv32 -verify-machineinstrs
mul.llmul_add_bitcast-mtriple=riscv64 -mattr=+m -verify-machineinstrs
mul.llmul_add_bitcast-mtriple=riscv64 -verify-machineinstrs
rvp-bitcast-const-fold.llpnot_v2i32-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.llpnot_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.lladd_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.lladd_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb,+d -verify-machineinstrs
rvp-bitcast-paired.lladd_v2i32_via_bitcast-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pnclipp_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pnclipup_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
mul.003a3015b5.ll (mutant of mul.ll)mul_add_bitcast-mtriple=riscv32 -mattr=+m -verify-machineinstrs
mul.a0c036c6a7.ll (mutant of mul.ll)mul_add_bitcast-mtriple=riscv64 -verify-machineinstrs
mul.d5fc088193.ll (mutant of mul.ll)mul_add_bitcast-mtriple=riscv64 -mattr=+m -verify-machineinstrs
mul.e3abf870ef.ll (mutant of mul.ll)mul_add_bitcast-mtriple=riscv32 -verify-machineinstrs
rvp-bitcast-const-fold.1bac901403.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.414a79051d.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i32-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.8f2590c0f4.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-const-fold.b0543781f3.ll (mutant of rvp-bitcast-const-fold.ll)pnot_v2i32-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.12bcd3c245.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.3eb631cd3c.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb,+d -verify-machineinstrs
rvp-bitcast-paired.41768fc825.ll (mutant of rvp-bitcast-paired.ll)bitcast_roundtrip_v2i32-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb,+d -verify-machineinstrs
rvp-bitcast-paired.41768fc825.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb,+d -verify-machineinstrs
rvp-bitcast-paired.4e9b045c69.ll (mutant of rvp-bitcast-paired.ll)bitcast_roundtrip_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.4e9b045c69.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.9c6719ad6c.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.ad34597107.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb,+d -verify-machineinstrs
rvp-bitcast-paired.ceb449bfa8.ll (mutant of rvp-bitcast-paired.ll)bitcast_roundtrip_v2i32-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.ceb449bfa8.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.db6fca615a.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv32 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-bitcast-paired.db8f5c24d3.ll (mutant of rvp-bitcast-paired.ll)add_v2i32_via_bitcast-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.