fallback: legalize: G_SUB <2 x s64>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_SUB <2 x s64> NEW
Occurrences:15 in 13 configs, 4 test files
Snippet from:imm.097b546b43.ll (mutant of imm.ll) @imm_right_shifted_addi via llvm-extract + llvm-reduce
Config:-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm
Local check:reproduces at bc8218b282
Compiler Explorer:https://godbolt.org/z/f9r8casjv (llc-assertions-trunk, checked 2026-10-15 08:05 UTC): G reproduces

Snippet:

define <2 x i64> @imm_right_shifted_addi(<2 x i64> %LGV) {
  %B = srem <2 x i64> %LGV, splat (i64 4294967296)
  ret <2 x i64> %B
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*013remark: <unknown>:0:0: unable to legalize instruction: %5:_(<2 x s64>) = G_SUB %17:_, %15:_ (in function: imm_right_shifted_addi)
warning: Instruction selection used fallback path for imm_right_shifted_addi
SelectionDAG (control)-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm -global-isel=0013-

Reproduce:

llc -mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %5:_(<2 x s64>) = G_SUB %17:_, %15:_ (in function: imm_right_shifted_addi)
warning: Instruction selection used fallback path for imm_right_shifted_addi

Occurrences (15):

InputFunctionConfig
alu64.317514652b.ll (mutant of alu64.ll)srai-mtriple=riscv64 -verify-machineinstrs
alu64.52f3004a1b.ll (mutant of alu64.ll)srai-mtriple=riscv32 -verify-machineinstrs
double-zfa.d3bfc134ee.ll (mutant of double-zfa.ll)loadfpimm9-mtriple=riscv64 -target-abi lp64d -mattr=+zfa,+d
double-zfa.e3649335d9.ll (mutant of double-zfa.ll)loadfpimm9-mtriple=riscv32 -target-abi ilp32d -mattr=+zfa,+d
i64-icmp.f31c0f41db.ll (mutant of i64-icmp.ll)icmp_ne_constant-mtriple=riscv64 -verify-machineinstrs
imm.097b546b43.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm
imm.176d557918.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zba -verify-machineinstrs
imm.1a23177c35.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+xtheadbb -verify-machineinstrs
imm.25b6fd729d.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -mattr=+xqcili -verify-machineinstrs
imm.264ced609a.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs -riscv-use-rematerializable-movimm
imm.284d5739fe.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv32 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs
imm.4213604a23.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zbs -verify-machineinstrs
imm.6df8e2ed25.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -verify-machineinstrs
imm.90ef724a79.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -verify-machineinstrs
imm.bbffb4d578.ll (mutant of imm.ll)imm_right_shifted_addi-mtriple=riscv64 -riscv-constant-pool-for-large-ints=0 -mattr=+zbb -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.