fallback: select: G_INTRINSIC_W_SIDE_EFFECTS <vscale x 4 x s32>,s64

Run:main-bc8218b282-20261015-074651
Kind:fallback
Category:select: G_INTRINSIC_W_SIDE_EFFECTS <vscale x 4 x s32>,s64
Occurrences:2 in 2 configs, 1 test files
Snippet from:pr69586.ll @test via llvm-extract
Config:-mtriple=riscv64 -mattr=+m,+v,+xsfvcp --riscv-use-rematerializable-movimm=true
Local check:reproduces at bc8218b282
Compiler Explorer:not uploaded (over --godbolt-limit or disabled)

Snippet:

define void @test(ptr %0, ptr %1, i64 %2) {
  %4 = tail call i64 @llvm.riscv.vsetvli.i64(i64 32, i64 2, i64 1)
  %5 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %0, i64 %4)
  %6 = getelementptr inbounds i32, ptr %0, i64 128
  %7 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %6, i64 %4)
  %8 = getelementptr inbounds i32, ptr %0, i64 256
  %9 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %8, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %5, <vscale x 4 x i32> %7, i64 %4)
  %10 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %8, i64 %4)
  %11 = getelementptr inbounds i32, ptr %0, i64 384
  %12 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %11, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %7, <vscale x 4 x i32> %9, i64 %4)
  %13 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %11, i64 %4)
  %14 = getelementptr inbounds i32, ptr %0, i64 512
  %15 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %14, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %10, <vscale x 4 x i32> %12, i64 %4)
  %16 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %14, i64 %4)
  %17 = getelementptr inbounds i32, ptr %0, i64 640
  %18 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %17, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %13, <vscale x 4 x i32> %15, i64 %4)
  %19 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %17, i64 %4)
  %20 = getelementptr inbounds i32, ptr %0, i64 768
  %21 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %20, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %16, <vscale x 4 x i32> %18, i64 %4)
  %22 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %20, i64 %4)
  %23 = getelementptr inbounds i32, ptr %0, i64 896
  %24 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %23, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %19, <vscale x 4 x i32> %21, i64 %4)
  %25 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %23, i64 %4)
  %26 = getelementptr inbounds i32, ptr %0, i64 1024
  %27 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %26, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %22, <vscale x 4 x i32> %24, i64 %4)
  %28 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %26, i64 %4)
  %29 = getelementptr inbounds i32, ptr %0, i64 1152
  %30 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %29, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %25, <vscale x 4 x i32> %27, i64 %4)
  %31 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %29, i64 %4)
  %32 = getelementptr inbounds i32, ptr %0, i64 1280
  %33 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %32, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %28, <vscale x 4 x i32> %30, i64 %4)
  %34 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %32, i64 %4)
  %35 = getelementptr inbounds i32, ptr %0, i64 1408
  %36 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %35, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %31, <vscale x 4 x i32> %33, i64 %4)
  %37 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %35, i64 %4)
  %38 = getelementptr inbounds i32, ptr %0, i64 1536
  %39 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %38, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %34, <vscale x 4 x i32> %36, i64 %4)
  %40 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %38, i64 %4)
  %41 = getelementptr inbounds i32, ptr %0, i64 1664
  %42 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %41, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %37, <vscale x 4 x i32> %39, i64 %4)
  %43 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %41, i64 %4)
  %44 = getelementptr inbounds i32, ptr %0, i64 1792
  %45 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %44, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %40, <vscale x 4 x i32> %42, i64 %4)
  %46 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %44, i64 %4)
  %47 = getelementptr inbounds i32, ptr %0, i64 1920
  %48 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %47, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %43, <vscale x 4 x i32> %45, i64 %4)
  %49 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %47, i64 %4)
  %50 = getelementptr inbounds i32, ptr %0, i64 2048
  %51 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %50, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %46, <vscale x 4 x i32> %48, i64 %4)
  %52 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %50, i64 %4)
  %53 = getelementptr inbounds i32, ptr %0, i64 2176
  %54 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %53, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %49, <vscale x 4 x i32> %51, i64 %4)
  %55 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %53, i64 %4)
  %56 = getelementptr inbounds i32, ptr %0, i64 2304
  %57 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %56, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %52, <vscale x 4 x i32> %54, i64 %4)
  %58 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %56, i64 %4)
  %59 = getelementptr inbounds i32, ptr %0, i64 2432
  %60 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %59, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %55, <vscale x 4 x i32> %57, i64 %4)
  %61 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %59, i64 %4)
  %62 = getelementptr inbounds i32, ptr %0, i64 2560
  %63 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %62, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %58, <vscale x 4 x i32> %60, i64 %4)
  %64 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %62, i64 %4)
  %65 = getelementptr inbounds i32, ptr %0, i64 2688
  %66 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %65, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %61, <vscale x 4 x i32> %63, i64 %4)
  %67 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %65, i64 %4)
  %68 = getelementptr inbounds i32, ptr %0, i64 2816
  %69 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %68, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %64, <vscale x 4 x i32> %66, i64 %4)
  %70 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %68, i64 %4)
  %71 = getelementptr inbounds i32, ptr %0, i64 2944
  %72 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %71, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %67, <vscale x 4 x i32> %69, i64 %4)
  %73 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %71, i64 %4)
  %74 = getelementptr inbounds i32, ptr %0, i64 3072
  %75 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %74, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %70, <vscale x 4 x i32> %72, i64 %4)
  %76 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %74, i64 %4)
  %77 = getelementptr inbounds i32, ptr %0, i64 3200
  %78 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %77, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %73, <vscale x 4 x i32> %75, i64 %4)
  %79 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %77, i64 %4)
  %80 = getelementptr inbounds i32, ptr %0, i64 3328
  %81 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %80, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %76, <vscale x 4 x i32> %78, i64 %4)
  %82 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %80, i64 %4)
  %83 = getelementptr inbounds i32, ptr %0, i64 3456
  %84 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %83, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %79, <vscale x 4 x i32> %81, i64 %4)
  %85 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %83, i64 %4)
  %86 = getelementptr inbounds i32, ptr %0, i64 3584
  %87 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %86, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %82, <vscale x 4 x i32> %84, i64 %4)
  %88 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %86, i64 %4)
  %89 = getelementptr inbounds i32, ptr %0, i64 3712
  %90 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %89, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %85, <vscale x 4 x i32> %87, i64 %4)
  %91 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %89, i64 %4)
  %92 = getelementptr inbounds i32, ptr %0, i64 3840
  %93 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %92, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %88, <vscale x 4 x i32> %90, i64 %4)
  %94 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %92, i64 %4)
  %95 = getelementptr inbounds i32, ptr %0, i64 3968
  %96 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %95, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %91, <vscale x 4 x i32> %93, i64 %4)
  %97 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %95, i64 %4)
  %98 = getelementptr inbounds i32, ptr %0, i64 4096
  %99 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %98, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %94, <vscale x 4 x i32> %96, i64 %4)
  %100 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %98, i64 %4)
  %101 = getelementptr inbounds i32, ptr %0, i64 4224
  %102 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %101, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %97, <vscale x 4 x i32> %99, i64 %4)
  %103 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %101, i64 %4)
  %104 = getelementptr inbounds i32, ptr %0, i64 4352
  %105 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %104, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %100, <vscale x 4 x i32> %102, i64 %4)
  %106 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %104, i64 %4)
  %107 = getelementptr inbounds i32, ptr %0, i64 4480
  %108 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %107, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %103, <vscale x 4 x i32> %105, i64 %4)
  %109 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %107, i64 %4)
  %110 = getelementptr inbounds i32, ptr %0, i64 4608
  %111 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %110, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %106, <vscale x 4 x i32> %108, i64 %4)
  %112 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %110, i64 %4)
  %113 = getelementptr inbounds i32, ptr %0, i64 4736
  %114 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %113, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %109, <vscale x 4 x i32> %111, i64 %4)
  %115 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %113, i64 %4)
  %116 = getelementptr inbounds i32, ptr %0, i64 4864
  %117 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %116, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %112, <vscale x 4 x i32> %114, i64 %4)
  %118 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %116, i64 %4)
  %119 = getelementptr inbounds i32, ptr %0, i64 4992
  %120 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %119, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %115, <vscale x 4 x i32> %117, i64 %4)
  %121 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %119, i64 %4)
  %122 = getelementptr inbounds i32, ptr %0, i64 5120
  %123 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %122, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %118, <vscale x 4 x i32> %120, i64 %4)
  %124 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %122, i64 %4)
  %125 = getelementptr inbounds i32, ptr %0, i64 5248
  %126 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %125, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %121, <vscale x 4 x i32> %123, i64 %4)
  %127 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %125, i64 %4)
  %128 = getelementptr inbounds i32, ptr %0, i64 5376
  %129 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %128, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %124, <vscale x 4 x i32> %126, i64 %4)
  %130 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %128, i64 %4)
  %131 = getelementptr inbounds i32, ptr %0, i64 5504
  %132 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %131, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %127, <vscale x 4 x i32> %129, i64 %4)
  %133 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %131, i64 %4)
  %134 = getelementptr inbounds i32, ptr %0, i64 5632
  %135 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %134, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %130, <vscale x 4 x i32> %132, i64 %4)
  %136 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %134, i64 %4)
  %137 = getelementptr inbounds i32, ptr %0, i64 5760
  %138 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %137, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %133, <vscale x 4 x i32> %135, i64 %4)
  %139 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %137, i64 %4)
  %140 = getelementptr inbounds i32, ptr %0, i64 5888
  %141 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %140, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %136, <vscale x 4 x i32> %138, i64 %4)
  %142 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %140, i64 %4)
  %143 = getelementptr inbounds i32, ptr %0, i64 6016
  %144 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %143, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %139, <vscale x 4 x i32> %141, i64 %4)
  %145 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %143, i64 %4)
  %146 = getelementptr inbounds i32, ptr %0, i64 6144
  %147 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %146, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %142, <vscale x 4 x i32> %144, i64 %4)
  %148 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %146, i64 %4)
  %149 = getelementptr inbounds i32, ptr %0, i64 6272
  %150 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %149, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %145, <vscale x 4 x i32> %147, i64 %4)
  %151 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %149, i64 %4)
  %152 = getelementptr inbounds i32, ptr %0, i64 6400
  %153 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %152, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %148, <vscale x 4 x i32> %150, i64 %4)
  %154 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %152, i64 %4)
  %155 = getelementptr inbounds i32, ptr %0, i64 6528
  %156 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %155, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %151, <vscale x 4 x i32> %153, i64 %4)
  %157 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %155, i64 %4)
  %158 = getelementptr inbounds i32, ptr %0, i64 6656
  %159 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %158, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %154, <vscale x 4 x i32> %156, i64 %4)
  %160 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %158, i64 %4)
  %161 = getelementptr inbounds i32, ptr %0, i64 6784
  %162 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %161, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %157, <vscale x 4 x i32> %159, i64 %4)
  %163 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %161, i64 %4)
  %164 = getelementptr inbounds i32, ptr %0, i64 6912
  %165 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %164, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %160, <vscale x 4 x i32> %162, i64 %4)
  %166 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %164, i64 %4)
  %167 = getelementptr inbounds i32, ptr %0, i64 7040
  %168 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %167, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %163, <vscale x 4 x i32> %165, i64 %4)
  %169 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %167, i64 %4)
  %170 = getelementptr inbounds i32, ptr %0, i64 7168
  %171 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %170, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %166, <vscale x 4 x i32> %168, i64 %4)
  %172 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %170, i64 %4)
  %173 = getelementptr inbounds i32, ptr %0, i64 7296
  %174 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %173, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %169, <vscale x 4 x i32> %171, i64 %4)
  %175 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %173, i64 %4)
  %176 = getelementptr inbounds i32, ptr %0, i64 7424
  %177 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %176, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %172, <vscale x 4 x i32> %174, i64 %4)
  %178 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %176, i64 %4)
  %179 = getelementptr inbounds i32, ptr %0, i64 7552
  %180 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %179, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %175, <vscale x 4 x i32> %177, i64 %4)
  %181 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %179, i64 %4)
  %182 = getelementptr inbounds i32, ptr %0, i64 7680
  %183 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %182, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %178, <vscale x 4 x i32> %180, i64 %4)
  %184 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %182, i64 %4)
  %185 = getelementptr inbounds i32, ptr %0, i64 7808
  %186 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %185, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %181, <vscale x 4 x i32> %183, i64 %4)
  %187 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %185, i64 %4)
  %188 = getelementptr inbounds i32, ptr %0, i64 7936
  %189 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %188, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %184, <vscale x 4 x i32> %186, i64 %4)
  %190 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %188, i64 %4)
  %191 = getelementptr inbounds i32, ptr %0, i64 8064
  %192 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %191, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %187, <vscale x 4 x i32> %189, i64 %4)
  %193 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %191, i64 %4)
  %194 = getelementptr inbounds i32, ptr %0, i64 8192
  %195 = tail call <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32> poison, ptr %194, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %190, <vscale x 4 x i32> %192, i64 %4)
  tail call void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 3, i64 0, <vscale x 4 x i32> %193, <vscale x 4 x i32> %195, i64 %4)
  %196 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  %197 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  %198 = getelementptr inbounds i32, ptr %1, i64 256
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %196, ptr %198, i64 %4)
  %199 = getelementptr inbounds i32, ptr %1, i64 384
  %200 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %197, ptr %199, i64 %4)
  %201 = getelementptr inbounds i32, ptr %1, i64 512
  %202 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %200, ptr %201, i64 %4)
  %203 = getelementptr inbounds i32, ptr %1, i64 640
  %204 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %202, ptr %203, i64 %4)
  %205 = getelementptr inbounds i32, ptr %1, i64 768
  %206 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %204, ptr %205, i64 %4)
  %207 = getelementptr inbounds i32, ptr %1, i64 896
  %208 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %206, ptr %207, i64 %4)
  %209 = getelementptr inbounds i32, ptr %1, i64 1024
  %210 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %208, ptr %209, i64 %4)
  %211 = getelementptr inbounds i32, ptr %1, i64 1152
  %212 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %210, ptr %211, i64 %4)
  %213 = getelementptr inbounds i32, ptr %1, i64 1280
  %214 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %212, ptr %213, i64 %4)
  %215 = getelementptr inbounds i32, ptr %1, i64 1408
  %216 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %214, ptr %215, i64 %4)
  %217 = getelementptr inbounds i32, ptr %1, i64 1536
  %218 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %216, ptr %217, i64 %4)
  %219 = getelementptr inbounds i32, ptr %1, i64 1664
  %220 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %218, ptr %219, i64 %4)
  %221 = getelementptr inbounds i32, ptr %1, i64 1792
  %222 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %220, ptr %221, i64 %4)
  %223 = getelementptr inbounds i32, ptr %1, i64 1920
  %224 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %222, ptr %223, i64 %4)
  %225 = getelementptr inbounds i32, ptr %1, i64 2048
  %226 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %224, ptr %225, i64 %4)
  %227 = getelementptr inbounds i32, ptr %1, i64 2176
  %228 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %226, ptr %227, i64 %4)
  %229 = getelementptr inbounds i32, ptr %1, i64 2304
  %230 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %228, ptr %229, i64 %4)
  %231 = getelementptr inbounds i32, ptr %1, i64 2432
  %232 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %230, ptr %231, i64 %4)
  %233 = getelementptr inbounds i32, ptr %1, i64 2560
  %234 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %232, ptr %233, i64 %4)
  %235 = getelementptr inbounds i32, ptr %1, i64 2688
  %236 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %234, ptr %235, i64 %4)
  %237 = getelementptr inbounds i32, ptr %1, i64 2816
  %238 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %236, ptr %237, i64 %4)
  %239 = getelementptr inbounds i32, ptr %1, i64 2944
  %240 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %238, ptr %239, i64 %4)
  %241 = getelementptr inbounds i32, ptr %1, i64 3072
  %242 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %240, ptr %241, i64 %4)
  %243 = getelementptr inbounds i32, ptr %1, i64 3200
  %244 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %242, ptr %243, i64 %4)
  %245 = getelementptr inbounds i32, ptr %1, i64 3328
  %246 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %244, ptr %245, i64 %4)
  %247 = getelementptr inbounds i32, ptr %1, i64 3456
  %248 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %246, ptr %247, i64 %4)
  %249 = getelementptr inbounds i32, ptr %1, i64 3584
  %250 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %248, ptr %249, i64 %4)
  %251 = getelementptr inbounds i32, ptr %1, i64 3712
  %252 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %250, ptr %251, i64 %4)
  %253 = getelementptr inbounds i32, ptr %1, i64 3840
  %254 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %252, ptr %253, i64 %4)
  %255 = getelementptr inbounds i32, ptr %1, i64 3968
  %256 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %254, ptr %255, i64 %4)
  %257 = getelementptr inbounds i32, ptr %1, i64 4096
  %258 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %256, ptr %257, i64 %4)
  %259 = getelementptr inbounds i32, ptr %1, i64 4224
  %260 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %258, ptr %259, i64 %4)
  %261 = getelementptr inbounds i32, ptr %1, i64 4352
  %262 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %260, ptr %261, i64 %4)
  %263 = getelementptr inbounds i32, ptr %1, i64 4480
  %264 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %262, ptr %263, i64 %4)
  %265 = getelementptr inbounds i32, ptr %1, i64 4608
  %266 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %264, ptr %265, i64 %4)
  %267 = getelementptr inbounds i32, ptr %1, i64 4736
  %268 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %266, ptr %267, i64 %4)
  %269 = getelementptr inbounds i32, ptr %1, i64 4864
  %270 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %268, ptr %269, i64 %4)
  %271 = getelementptr inbounds i32, ptr %1, i64 4992
  %272 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %270, ptr %271, i64 %4)
  %273 = getelementptr inbounds i32, ptr %1, i64 5120
  %274 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %272, ptr %273, i64 %4)
  %275 = getelementptr inbounds i32, ptr %1, i64 5248
  %276 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %274, ptr %275, i64 %4)
  %277 = getelementptr inbounds i32, ptr %1, i64 5376
  %278 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %276, ptr %277, i64 %4)
  %279 = getelementptr inbounds i32, ptr %1, i64 5504
  %280 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %278, ptr %279, i64 %4)
  %281 = getelementptr inbounds i32, ptr %1, i64 5632
  %282 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %280, ptr %281, i64 %4)
  %283 = getelementptr inbounds i32, ptr %1, i64 5760
  %284 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %282, ptr %283, i64 %4)
  %285 = getelementptr inbounds i32, ptr %1, i64 5888
  %286 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %284, ptr %285, i64 %4)
  %287 = getelementptr inbounds i32, ptr %1, i64 6016
  %288 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %286, ptr %287, i64 %4)
  %289 = getelementptr inbounds i32, ptr %1, i64 6144
  %290 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %288, ptr %289, i64 %4)
  %291 = getelementptr inbounds i32, ptr %1, i64 6272
  %292 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %290, ptr %291, i64 %4)
  %293 = getelementptr inbounds i32, ptr %1, i64 6400
  %294 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %292, ptr %293, i64 %4)
  %295 = getelementptr inbounds i32, ptr %1, i64 6528
  %296 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %294, ptr %295, i64 %4)
  %297 = getelementptr inbounds i32, ptr %1, i64 6656
  %298 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %296, ptr %297, i64 %4)
  %299 = getelementptr inbounds i32, ptr %1, i64 6784
  %300 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %298, ptr %299, i64 %4)
  %301 = getelementptr inbounds i32, ptr %1, i64 6912
  %302 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %300, ptr %301, i64 %4)
  %303 = getelementptr inbounds i32, ptr %1, i64 7040
  %304 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %302, ptr %303, i64 %4)
  %305 = getelementptr inbounds i32, ptr %1, i64 7168
  %306 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %304, ptr %305, i64 %4)
  %307 = getelementptr inbounds i32, ptr %1, i64 7296
  %308 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %306, ptr %307, i64 %4)
  %309 = getelementptr inbounds i32, ptr %1, i64 7424
  %310 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %308, ptr %309, i64 %4)
  %311 = getelementptr inbounds i32, ptr %1, i64 7552
  %312 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %310, ptr %311, i64 %4)
  %313 = getelementptr inbounds i32, ptr %1, i64 7680
  %314 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %312, ptr %313, i64 %4)
  %315 = getelementptr inbounds i32, ptr %1, i64 7808
  %316 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %314, ptr %315, i64 %4)
  %317 = getelementptr inbounds i32, ptr %1, i64 7936
  %318 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %316, ptr %317, i64 %4)
  %319 = getelementptr inbounds i32, ptr %1, i64 8064
  %320 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %318, ptr %319, i64 %4)
  %321 = getelementptr inbounds i32, ptr %1, i64 8192
  %322 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %320, ptr %321, i64 %4)
  %323 = getelementptr inbounds i32, ptr %1, i64 8320
  %324 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %322, ptr %323, i64 %4)
  %325 = getelementptr inbounds i32, ptr %1, i64 8448
  %326 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %324, ptr %325, i64 %4)
  %327 = getelementptr inbounds i32, ptr %1, i64 8576
  %328 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %326, ptr %327, i64 %4)
  %329 = getelementptr inbounds i32, ptr %1, i64 8704
  %330 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %328, ptr %329, i64 %4)
  %331 = getelementptr inbounds i32, ptr %1, i64 8832
  %332 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %330, ptr %331, i64 %4)
  %333 = getelementptr inbounds i32, ptr %1, i64 8960
  %334 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %332, ptr %333, i64 %4)
  %335 = getelementptr inbounds i32, ptr %1, i64 9088
  %336 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %334, ptr %335, i64 %4)
  %337 = getelementptr inbounds i32, ptr %1, i64 9216
  %338 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %336, ptr %337, i64 %4)
  %339 = getelementptr inbounds i32, ptr %1, i64 9344
  %340 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %338, ptr %339, i64 %4)
  %341 = getelementptr inbounds i32, ptr %1, i64 9472
  %342 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %340, ptr %341, i64 %4)
  %343 = getelementptr inbounds i32, ptr %1, i64 9600
  %344 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %342, ptr %343, i64 %4)
  %345 = getelementptr inbounds i32, ptr %1, i64 9728
  %346 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %344, ptr %345, i64 %4)
  %347 = getelementptr inbounds i32, ptr %1, i64 9856
  %348 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %346, ptr %347, i64 %4)
  %349 = getelementptr inbounds i32, ptr %1, i64 9984
  %350 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %348, ptr %349, i64 %4)
  %351 = getelementptr inbounds i32, ptr %1, i64 10112
  %352 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %350, ptr %351, i64 %4)
  %353 = getelementptr inbounds i32, ptr %1, i64 10240
  %354 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %352, ptr %353, i64 %4)
  %355 = getelementptr inbounds i32, ptr %1, i64 10368
  %356 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  tail call void @llvm.riscv.vse.nxv4i32.p0.i64(<vscale x 4 x i32> %354, ptr %355, i64 %4)
  %357 = tail call <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 2, i64 0, i64 0, i64 %4)
  ret void
}

; Function Attrs: nounwind
declare <vscale x 4 x i32> @llvm.riscv.sf.vc.v.i.se.nxv4i32.i64.i64.i64(i64 immarg, i64 immarg, i64 immarg, i64) #0

; Function Attrs: nounwind
declare void @llvm.riscv.sf.vc.vv.se.i64.nxv4i32.nxv4i32.i64(i64 immarg, i64 immarg, <vscale x 4 x i32>, <vscale x 4 x i32>, i64) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: read)
declare <vscale x 4 x i32> @llvm.riscv.vle.nxv4i32.p0.i64(<vscale x 4 x i32>, ptr captures(none), i64) #1

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

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare i64 @llvm.riscv.vsetvli.i64(i64, i64 immarg, i64 immarg) #3

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

Reproduce:

llc -mtriple=riscv64 -mattr=+m,+v,+xsfvcp --riscv-use-rematerializable-movimm=true -global-isel -global-isel-abort=2 -pass-remarks-missed=gisel.* snippet.ll -o -
llc -mtriple=riscv64 -mattr=+m,+v,+xsfvcp --riscv-use-rematerializable-movimm=true -global-isel=0 snippet.ll -o -

Local llc output:

remark: <unknown>:0:0: cannot select: %439:vrb(<vscale x 4 x s32>) = G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.riscv.sf.vc.v.i.se), 2, 0, 0, %3:gprb(s64) (in function: test)
warning: Instruction selection used fallback path for test

Occurrences (2):

InputFunctionConfig
pr69586.lltest-mtriple=riscv64 -mattr=+m,+v,+xsfvcp --riscv-use-rematerializable-movimm=true
pr69586.lltest-mtriple=riscv64 -mattr=+m,+v,+xsfvcp -riscv-use-rematerializable-movimm=false

Generated 2026-10-15 08:05 UTC.