fallback: legalize: G_LSHR <2 x s64>

Run:explore-04ca53e65f-20261014-114124
Kind:fallback
Category:legalize: G_LSHR <2 x s64>
Occurrences:188 in 146 configs, 43 test files
Snippet from:rvp-simd-64.ll @test_pasubu_w via llvm-extract
Config:-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define <2 x i32> @test_pasubu_w(<2 x i32> %a, <2 x i32> %b) {
  %a_ext = zext <2 x i32> %a to <2 x i64>
  %b_ext = zext <2 x i32> %b to <2 x i64>
  %sub = sub <2 x i64> %a_ext, %b_ext
  %res = lshr <2 x i64> %sub, splat (i64 1)
  %res_trunc = trunc <2 x i64> %res to <2 x i32>
  ret <2 x i32> %res_trunc
}

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: %7:_(<2 x s64>) = G_LSHR %4:_, %5:_(<2 x s64>) (in function: test_pasubu_w)
warning: Instruction selection used fallback path for test_pasubu_w

Occurrences (188) (first 50):

InputFunctionConfig
rvp-simd-64.lltest_pasubu_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulh_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhu_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhsu_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhsu_w_commuted-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhr_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhru_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhrsu_w-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhrsu_w_commuted-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
rvp-simd-64.lltest_pmulhu_v2i32-mtriple=riscv64 -mattr=+experimental-p,+m,+zbb -verify-machineinstrs
umulh.llumulh_v2i32-mtriple=riscv32 -mattr=+m
umulh.llumulh_v2i32-mtriple=riscv64 -mattr=+m
bfloat-imm.3314934715.ll (mutant of bfloat-imm.ll)bfloat_zero-mtriple=riscv32 -mattr=+zfbfmin -verify-machineinstrs -target-abi ilp32f
bfloat-imm.bde4ee0144.ll (mutant of bfloat-imm.ll)bfloat_zero-mtriple=riscv64 -mattr=+zfbfmin -verify-machineinstrs -target-abi lp64f
branch-on-zero.265d43e547.ll (mutant of branch-on-zero.ll)test_lshr-mtriple=riscv32 -verify-machineinstrs
branch-on-zero.3e2abf733d.ll (mutant of branch-on-zero.ll)test_lshr-mtriple=riscv64 -verify-machineinstrs
calling-conv-ilp32-ilp32f-common.206fafc76d.ll (mutant of calling-conv-ilp32-ilp32f-common.ll)callee_aligned_stack-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all -mattr=+f -target-abi ilp32f
calling-conv-ilp32-ilp32f-common.62cf55ac5f.ll (mutant of calling-conv-ilp32-ilp32f-common.ll)callee_aligned_stack-mtriple=riscv32 -verify-machineinstrs
calling-conv-ilp32-ilp32f-common.899a579e65.ll (mutant of calling-conv-ilp32-ilp32f-common.ll)callee_aligned_stack-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all
calling-conv-ilp32-ilp32f-common.a08606a725.ll (mutant of calling-conv-ilp32-ilp32f-common.ll)callee_aligned_stack-mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs
calling-conv-ilp32.5d2e9c600b.ll (mutant of calling-conv-ilp32.ll)callee_float_on_stack-mtriple=riscv32 -verify-machineinstrs
calling-conv-ilp32.ca64aa34b8.ll (mutant of calling-conv-ilp32.ll)callee_float_on_stack-mtriple=riscv32 -verify-machineinstrs -frame-pointer=all
calling-conv-lp64.662bbec524.ll (mutant of calling-conv-lp64.ll)callee_float_on_stack-mtriple=riscv64 -verify-machineinstrs
calling-conv-lp64.9777d62140.ll (mutant of calling-conv-lp64.ll)callee_float_on_stack-mtriple=riscv64 -verify-machineinstrs -frame-pointer=all
calling-conv-lp64e.8647176321.ll (mutant of calling-conv-lp64e.ll)callee_float_on_stack-mtriple=riscv64 -target-abi lp64e -verify-machineinstrs
calling-conv-lp64e.e283e1fee6.ll (mutant of calling-conv-lp64e.ll)callee_float_on_stack-mtriple=riscv64 -target-abi lp64e -verify-machineinstrs -frame-pointer=all
copysign-casts.0103ae447b.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv64 -verify-machineinstrs -mattr=+f -mattr=+d -target-abi lp64d
copysign-casts.062410ddde.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -target-abi ilp32f
copysign-casts.0799996ea3.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv64 -verify-machineinstrs -mattr=+zdinx -target-abi lp64
copysign-casts.0e6967efc2.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv64 -verify-machineinstrs
copysign-casts.13f48e83b4.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -mattr=+zfh -target-abi ilp32f
copysign-casts.20bf916e86.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+zdinx -target-abi ilp32
copysign-casts.2d047815b8.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv64 -verify-machineinstrs -mattr=+f -mattr=+d -mattr=+zfhmin -target-abi lp64d
copysign-casts.4a706d1136.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -mattr=+d -mattr=+zfhmin -target-abi ilp32d
copysign-casts.725584eee5.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -mattr=+d -target-abi ilp32d
copysign-casts.9246121f87.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs
copysign-casts.989aa9ec85.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -mattr=+d -mattr=+zfh -target-abi ilp32d
copysign-casts.dd6137a237.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv32 -verify-machineinstrs -mattr=+f -mattr=+zfhmin -target-abi ilp32f
copysign-casts.fed84957b1.ll (mutant of copysign-casts.ll)fold_promote_f_h-mtriple=riscv64 -verify-machineinstrs -mattr=+f -mattr=+d -mattr=+zfh -target-abi lp64d
div_minsize.2d8cfa2687.ll (mutant of div_minsize.ll)testsize3-mtriple=riscv32 -mattr=+m -verify-machineinstrs
div_minsize.59919cc486.ll (mutant of div_minsize.ll)testsize3-mtriple=riscv64 -mattr=+m -verify-machineinstrs
double-maximum-minimum.9591d8093c.ll (mutant of double-maximum-minimum.ll)fminimum_nnan_f64-mtriple=riscv64 -mattr=+d -verify-machineinstrs -target-abi=lp64d
double-maximum-minimum.9772a774a4.ll (mutant of double-maximum-minimum.ll)fminimum_nnan_f64-mtriple=riscv32 -mattr=+d -verify-machineinstrs -target-abi=ilp32d
double-maximum-minimum.a87007d7e7.ll (mutant of double-maximum-minimum.ll)fminimum_nnan_f64-mtriple=riscv32 -mattr=+zdinx -verify-machineinstrs -target-abi=ilp32
double-maximum-minimum.d2a401256f.ll (mutant of double-maximum-minimum.ll)fminimum_nnan_f64-mtriple=riscv64 -mattr=+zdinx -verify-machineinstrs -target-abi=lp64
fli-licm.7c90c191f4.ll (mutant of fli-licm.ll)process_nodes-mtriple=riscv32 -target-abi=ilp32f -mattr=+zfa
fli-licm.8a95c7ff94.ll (mutant of fli-licm.ll)process_nodes-mtriple=riscv64 -target-abi=lp64f -mattr=+zfa
float-bit-preserving-dagcombines.047407c80b.ll (mutant of float-bit-preserving-dagcombines.ll)bitcast_xor-mtriple=riscv32 -mattr=+f -target-abi=ilp32 -verify-machineinstrs
float-bit-preserving-dagcombines.5e8c51795f.ll (mutant of float-bit-preserving-dagcombines.ll)bitcast_xor-mtriple=riscv64 -mattr=+f,+d -target-abi=lp64 -verify-machineinstrs
float-bit-preserving-dagcombines.641c33454c.ll (mutant of float-bit-preserving-dagcombines.ll)bitcast_xor-mtriple=riscv32 -mattr=+f,+d -target-abi=ilp32 -verify-machineinstrs

Generated 2026-10-15 08:05 UTC.