fallback: translate: call llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64

Run:main-04ca53e65f-20261014-105623
Kind:fallback
Category:translate: call llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64
Occurrences:10 in 2 configs, 1 test files
Snippet from:regalloc-last-chance-recoloring-failure.ll @last_chance_recoloring_failure via llvm-extract
Config:-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
Local check:reproduces at 04ca53e65f
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define void @last_chance_recoloring_failure() {
entry:
  %i = call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr nonnull poison, <vscale x 16 x i32> poison, i64 55, i64 4)
  %i1 = tail call <vscale x 16 x half> @llvm.riscv.tuple.extract.nxv16f16.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %i, i32 0)
  %i2 = call <vscale x 16 x float> @llvm.riscv.vfwadd.mask.nxv16f32.nxv16f16.nxv16f16.i64(<vscale x 16 x float> poison, <vscale x 16 x half> poison, <vscale x 16 x half> poison, <vscale x 16 x i1> zeroinitializer, i64 7, i64 36, i64 0)
  call void @func()
  %i3 = call <vscale x 16 x i16> @llvm.riscv.vrgather.vv.mask.nxv16i16.i64(<vscale x 16 x i16> poison, <vscale x 16 x i16> poison, <vscale x 16 x i16> poison, <vscale x 16 x i1> poison, i64 32, i64 0)
  %i4 = call <vscale x 16 x float> @llvm.riscv.vfwsub.w.nxv16f32.nxv16f16.i64(<vscale x 16 x float> poison, <vscale x 16 x float> %i2, <vscale x 16 x half> %i1, i64 7, i64 36)
  %i5 = call <vscale x 16 x i16> @llvm.riscv.vssubu.mask.nxv16i16.nxv16i16.i64(<vscale x 16 x i16> %i3, <vscale x 16 x i16> %i3, <vscale x 16 x i16> poison, <vscale x 16 x i1> poison, i64 32, i64 0)
  %i6 = call <vscale x 16 x float> @llvm.riscv.vfdiv.mask.nxv16f32.nxv16f32.i64(<vscale x 16 x float> %i4, <vscale x 16 x float> %i2, <vscale x 16 x float> poison, <vscale x 16 x i1> poison, i64 7, i64 36, i64 0)
  call void @llvm.riscv.vse.nxv16f32.p0.i64(<vscale x 16 x float> %i6, ptr nonnull poison, i64 36)
  ret void
}

declare void @func()

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <vscale x 16 x half> @llvm.riscv.tuple.extract.nxv16f16.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2), i32 immarg) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <vscale x 16 x float> @llvm.riscv.vfdiv.mask.nxv16f32.nxv16f32.i64(<vscale x 16 x float>, <vscale x 16 x float>, <vscale x 16 x float>, <vscale x 16 x i1>, i64 immarg, i64, i64 immarg) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <vscale x 16 x float> @llvm.riscv.vfwadd.mask.nxv16f32.nxv16f16.nxv16f16.i64(<vscale x 16 x float>, <vscale x 16 x half>, <vscale x 16 x half>, <vscale x 16 x i1>, i64 immarg, i64, i64 immarg) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <vscale x 16 x float> @llvm.riscv.vfwsub.w.nxv16f32.nxv16f16.i64(<vscale x 16 x float>, <vscale x 16 x float>, <vscale x 16 x half>, i64 immarg, i64) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read)
declare target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64(target("riscv.vector.tuple", <vscale x 32 x i8>, 2), ptr captures(none), <vscale x 16 x i32>, i64, i64 immarg) #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <vscale x 16 x i16> @llvm.riscv.vrgather.vv.mask.nxv16i16.i64(<vscale x 16 x i16>, <vscale x 16 x i16>, <vscale x 16 x i16>, <vscale x 16 x i1>, i64, i64 immarg) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: write)
declare void @llvm.riscv.vse.nxv16f32.p0.i64(<vscale x 16 x float>, ptr captures(none), i64) #3

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare <vscale x 16 x i16> @llvm.riscv.vssubu.mask.nxv16i16.nxv16i16.i64(<vscale x 16 x i16>, <vscale x 16 x i16>, <vscale x 16 x i16>, <vscale x 16 x i1>, i64, i64 immarg) #1

attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #2 = { nocallback nofree nosync nounwind willreturn memory(read) }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: write) }

Reproduce:

llc -mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: unable to translate instruction: call llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64: '  %i = call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vloxseg2.triscv.vector.tuple_nxv32i8_2t.p0.nxv16i32.i64(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr nonnull poison, <vscale x 16 x i32> poison, i64 55, i64 4)' (in function: last_chance_recoloring_failure)
warning: Instruction selection used fallback path for last_chance_recoloring_failure

Occurrences (10):

InputFunctionConfig
regalloc-last-chance-recoloring-failure.lllast_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
regalloc-last-chance-recoloring-failure.lllast_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=true
regalloc-last-chance-recoloring-failure.1bfc8fafad.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
regalloc-last-chance-recoloring-failure.2880fd4dcb.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=true
regalloc-last-chance-recoloring-failure.2cf043a208.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=true
regalloc-last-chance-recoloring-failure.51fbc40528.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
regalloc-last-chance-recoloring-failure.55489f2d38.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=true
regalloc-last-chance-recoloring-failure.7446db4cf2.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
regalloc-last-chance-recoloring-failure.c013df4af8.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=false
regalloc-last-chance-recoloring-failure.c23a7d8aaa.ll (mutant of regalloc-last-chance-recoloring-failure.ll)last_chance_recoloring_failure-mtriple=riscv64 -mattr=+f,+m,+zfh,+zvfh -enable-subreg-liveness=true

Generated 2026-10-15 08:05 UTC.