fallback: legalize: G_SREM <4 x s16>

Run:explore-bc8218b282-20261015-075519
Kind:fallback
Category:legalize: G_SREM <4 x s16>
Occurrences:29 in 5 configs, 2 test files
Snippet from:rvp-simd-64.ll @test_psrem_h via llvm-extract
Config:-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
Local check:reproduces at bc8218b282
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define <4 x i16> @test_psrem_h(<4 x i16> %a, <4 x i16> %b) {
  %res = srem <4 x i16> %a, %b
  ret <4 x i16> %res
}

Reproduce:

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

Local llc output:

remark: <unknown>:0:0: unable to legalize instruction: %2:_(<4 x s16>) = G_SREM %0:_, %1:_ (in function: test_psrem_h)
warning: Instruction selection used fallback path for test_psrem_h

Occurrences (29):

InputFunctionConfig
rvp-simd-64.lltest_psrem_h-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_1-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_2-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_power_of_two-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_one-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_urem_i16_smax-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_1-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_2-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_power_of_two-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_one-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.lldont_fold_urem_i16_smax-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_1-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_2-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_power_of_two-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_one-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.lldont_fold_urem_i16_smax-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_1-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.llfold_srem_vec_2-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_power_of_two-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.lldont_fold_srem_one-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.lldont_fold_urem_i16_smax-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.0b4822fc49.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.25b65d411e.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv32 -verify-machineinstrs
srem-vector-lkk.6e2dde5b7e.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.793f1d424e.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.aeabe7df2b.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv64 -verify-machineinstrs
srem-vector-lkk.d3e2b929c3.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv32 -mattr=+m -verify-machineinstrs
srem-vector-lkk.ece7d2dfb9.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv64 -mattr=+m -verify-machineinstrs
srem-vector-lkk.f2cd8c0d55.ll (mutant of srem-vector-lkk.ll)dont_fold_urem_i16_smax-mtriple=riscv32 -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.