fallback: legalize: G_SHL <2 x s64>

Run:explore-04ca53e65f-20261014-114124
Kind:fallback
Category:legalize: G_SHL <2 x s64> NEW
Occurrences:178 in 101 configs, 53 test files
Snippet from:zcb-regalloc-hints.fd498de51d.ll (mutant of zcb-regalloc-hints.ll) @c_sext_b via llvm-extract + llvm-reduce
Config:-mtriple=riscv64 -mattr=+m,+zba,+zbb,+zcb
Local check:reproduces at 04ca53e65f
Compiler Explorer:https://godbolt.org/z/EbGsaYhha (llc-assertions-trunk, checked 2026-10-14 11:49 UTC): G reproduces

Snippet:

define <2 x i64> @c_sext_b(<2 x i64> %LGV) {
  %B = shl <2 x i64> splat (i64 1), %LGV
  ret <2 x i64> %B
}

Compiler Explorer panes:

PaneOptionsExitInstsstderr
GlobalISel-mtriple=riscv64 -mattr=+m,+zba,+zbb,+zcb -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.*04remark: <unknown>:0:0: unable to legalize instruction: %5:_(<2 x s64>) = G_SHL %3:_, %0:_(<2 x s64>) (in function: c_sext_b)
warning: Instruction selection used fallback path for c_sext_b
SelectionDAG (control)-mtriple=riscv64 -mattr=+m,+zba,+zbb,+zcb -global-isel=004-

Reproduce:

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

Local llc output:

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

Occurrences (178) (first 50):

InputFunctionConfig
aext-to-sext.805ed8d1f2.ll (mutant of aext-to-sext.ll)sext_phi_constants-mtriple=riscv64 -mattr=+m -verify-machineinstrs
atomic-cmpxchg-branch-on-result.558380cd99.ll (mutant of atomic-cmpxchg-branch-on-result.ll)cmpxchg_masked_and_branch1-mtriple=riscv64 -mattr=+a -verify-machineinstrs
atomic-cmpxchg-branch-on-result.6a82fe5bfe.ll (mutant of atomic-cmpxchg-branch-on-result.ll)cmpxchg_masked_and_branch1-mtriple=riscv64 -mattr=+a,+zacas,+zabha -verify-machineinstrs
atomic-cmpxchg-branch-on-result.6ded405a3d.ll (mutant of atomic-cmpxchg-branch-on-result.ll)cmpxchg_masked_and_branch1-mtriple=riscv64 -mattr=+a,+zacas -verify-machineinstrs
atomic-cmpxchg-branch-on-result.d9d4cf013c.ll (mutant of atomic-cmpxchg-branch-on-result.ll)cmpxchg_masked_and_branch1-mtriple=riscv32 -mattr=+a,+zacas -verify-machineinstrs
atomic-cmpxchg-branch-on-result.fc6330efbc.ll (mutant of atomic-cmpxchg-branch-on-result.ll)cmpxchg_masked_and_branch1-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomic-fence.7356f78837.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomic-fence.79537268ae.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv64 -mattr=+a,+ztso -verify-machineinstrs
atomic-fence.7fd291c2cf.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv32 -verify-machineinstrs
atomic-fence.8f1784c5fb.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv64 -verify-machineinstrs
atomic-fence.a14e04b70e.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomic-fence.d8ac6664ac.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv32 -mattr=+zalrsc -verify-machineinstrs
atomic-fence.ee4adbfc04.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv64 -mattr=+zalrsc -verify-machineinstrs
atomic-fence.f9bcc1e6a3.ll (mutant of atomic-fence.ll)fence_acq_rel-mtriple=riscv64 -mattr=+a -verify-machineinstrs
atomic-rmw-minmax.6cc6ebf308.ll (mutant of atomic-rmw-minmax.ll)atomicrmw_umax_i32_seq_cst-mtriple=riscv32 -mattr=+b,+zalrsc,+permissive-zalrsc,+a -verify-machineinstrs
atomic-rmw-minmax.a95aad84dd.ll (mutant of atomic-rmw-minmax.ll)atomicrmw_umax_i32_seq_cst-mtriple=riscv64 -mattr=+b,+zalrsc,+permissive-zalrsc,+a -verify-machineinstrs
atomicrmw-cond-sub-clamp.1adeaba1de.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-cond-sub-clamp.4c1e2612f5.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomicrmw-cond-sub-clamp.5e6e2516d1.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv64 -verify-machineinstrs
atomicrmw-cond-sub-clamp.7305aaa051.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv64 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-cond-sub-clamp.d716741669.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv32 -verify-machineinstrs
atomicrmw-cond-sub-clamp.d8f4903aab.ll (mutant of atomicrmw-cond-sub-clamp.ll)atomicrmw_usub_cond_i32-mtriple=riscv64 -mattr=+a -verify-machineinstrs
atomicrmw-uinc-udec-wrap.147efa492f.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv32 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-uinc-udec-wrap.3a569d8eeb.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv64 -verify-machineinstrs
atomicrmw-uinc-udec-wrap.4054f0c84b.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv32 -verify-machineinstrs
atomicrmw-uinc-udec-wrap.a729d8c85f.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv32 -mattr=+a -verify-machineinstrs
atomicrmw-uinc-udec-wrap.ea4bc723bd.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv64 -mattr=+a,+ztso -verify-machineinstrs
atomicrmw-uinc-udec-wrap.fa4b7f7814.ll (mutant of atomicrmw-uinc-udec-wrap.ll)atomicrmw_uinc_wrap_i32-mtriple=riscv64 -mattr=+a -verify-machineinstrs
avgceils.47a52543dd.ll (mutant of avgceils.ll)test_fixed_i16-mtriple=riscv32 -verify-machineinstrs
avgceils.682851ad49.ll (mutant of avgceils.ll)test_fixed_i16-mtriple=riscv64 -verify-machineinstrs
avgceilu.a4f80c7424.ll (mutant of avgceilu.ll)test_fixed_i16-mtriple=riscv64 -verify-machineinstrs
avgceilu.d9795aaac9.ll (mutant of avgceilu.ll)test_fixed_i16-mtriple=riscv32 -verify-machineinstrs
avgfloors.4d160d5f8f.ll (mutant of avgfloors.ll)test_fixed_i16-mtriple=riscv32 -verify-machineinstrs
avgfloors.d23138f369.ll (mutant of avgfloors.ll)test_fixed_i16-mtriple=riscv64 -verify-machineinstrs
avgflooru.5b16dcd6d3.ll (mutant of avgflooru.ll)test_fixed_i16-mtriple=riscv32 -verify-machineinstrs
avgflooru.e4c76d7f24.ll (mutant of avgflooru.ll)test_fixed_i16-mtriple=riscv64 -verify-machineinstrs
bitreverse-shift.74dcb7dfa4.ll (mutant of bitreverse-shift.ll)test_bitreverse_srli_bitreverse_i32-mtriple=riscv64 -mattr=+zbkb -verify-machineinstrs
bitreverse-shift.f15fc8d5f4.ll (mutant of bitreverse-shift.ll)test_bitreverse_srli_bitreverse_i32-mtriple=riscv32 -mattr=+zbkb -verify-machineinstrs
branch-relaxation-rv32.404bf2db56.ll (mutant of branch-relaxation-rv32.ll)relax_jal_spill_32-mtriple=riscv32 -relocation-model=pic -verify-machineinstrs
branch-relaxation-rv32.4566804b5a.ll (mutant of branch-relaxation-rv32.ll)relax_jal_spill_32-mtriple=riscv32 -verify-machineinstrs
branch-relaxation-rv32.4566804b5a.ll (mutant of branch-relaxation-rv32.ll)relax_jal_spill_32-mtriple=riscv32 -verify-machineinstrs
branch-relaxation-rv32e.8f94ec30cb.ll (mutant of branch-relaxation-rv32e.ll)relax_jal_spill_32-mtriple=riscv32 -mattr=+e -verify-machineinstrs
branch-relaxation-rv32e.e71b4bc6d6.ll (mutant of branch-relaxation-rv32e.ll)relax_jal_spill_32-mtriple=riscv32 -mattr=+e -relocation-model=pic -verify-machineinstrs
branch-relaxation-rv64.3a90d5a5fb.ll (mutant of branch-relaxation-rv64.ll)relax_jal_spill_64-mtriple=riscv64 -verify-machineinstrs
branch-relaxation-rv64.3a90d5a5fb.ll (mutant of branch-relaxation-rv64.ll)relax_jal_spill_64-mtriple=riscv64 -verify-machineinstrs
branch-relaxation-rv64.e775969595.ll (mutant of branch-relaxation-rv64.ll)relax_jal_spill_64-mtriple=riscv64 -relocation-model=pic -verify-machineinstrs
calling-conv-half.07db7a2f46.ll (mutant of calling-conv-half.ll)callee_half_on_stack-mtriple=riscv64 -mattr=+f -target-abi=lp64 -verify-machineinstrs
calling-conv-half.0a27524a8d.ll (mutant of calling-conv-half.ll)callee_half_on_stack-mtriple=riscv32 -mattr=+f -target-abi=ilp32 -verify-machineinstrs
calling-conv-half.0a69052b61.ll (mutant of calling-conv-half.ll)callee_half_on_stack-mtriple=riscv64 -mattr=+f -target-abi=lp64f -verify-machineinstrs
calling-conv-half.20e867d898.ll (mutant of calling-conv-half.ll)callee_half_on_stack-mtriple=riscv32 -mattr=+f -mattr=+zfh -verify-machineinstrs -target-abi ilp32 -O1

Generated 2026-10-15 08:05 UTC.