; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=riscv64 -mattr=+experimental-v,+d,+experimental-zfh -verify-machineinstrs \
; RUN:   --riscv-no-aliases < %s | FileCheck %s
declare void @llvm.riscv.vsse.nxv1i64(
  <vscale x 1 x i64>,
  <vscale x 1 x i64>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1i64_nxv1i64(<vscale x 1 x i64> %0, <vscale x 1 x i64>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1i64_nxv1i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m1,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1i64(
    <vscale x 1 x i64> %0,
    <vscale x 1 x i64>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1i64(
  <vscale x 1 x i64>,
  <vscale x 1 x i64>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1i64_nxv1i64(<vscale x 1 x i64> %0, <vscale x 1 x i64>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1i64_nxv1i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m1,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1i64(
    <vscale x 1 x i64> %0,
    <vscale x 1 x i64>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2i64(
  <vscale x 2 x i64>,
  <vscale x 2 x i64>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2i64_nxv2i64(<vscale x 2 x i64> %0, <vscale x 2 x i64>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2i64_nxv2i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m2,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2i64(
    <vscale x 2 x i64> %0,
    <vscale x 2 x i64>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2i64(
  <vscale x 2 x i64>,
  <vscale x 2 x i64>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2i64_nxv2i64(<vscale x 2 x i64> %0, <vscale x 2 x i64>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2i64_nxv2i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m2,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2i64(
    <vscale x 2 x i64> %0,
    <vscale x 2 x i64>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4i64(
  <vscale x 4 x i64>,
  <vscale x 4 x i64>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4i64_nxv4i64(<vscale x 4 x i64> %0, <vscale x 4 x i64>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4i64_nxv4i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m4,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4i64(
    <vscale x 4 x i64> %0,
    <vscale x 4 x i64>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4i64(
  <vscale x 4 x i64>,
  <vscale x 4 x i64>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4i64_nxv4i64(<vscale x 4 x i64> %0, <vscale x 4 x i64>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4i64_nxv4i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m4,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4i64(
    <vscale x 4 x i64> %0,
    <vscale x 4 x i64>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8i64(
  <vscale x 8 x i64>,
  <vscale x 8 x i64>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8i64_nxv8i64(<vscale x 8 x i64> %0, <vscale x 8 x i64>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8i64_nxv8i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m8,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8i64(
    <vscale x 8 x i64> %0,
    <vscale x 8 x i64>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8i64(
  <vscale x 8 x i64>,
  <vscale x 8 x i64>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8i64_nxv8i64(<vscale x 8 x i64> %0, <vscale x 8 x i64>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8i64_nxv8i64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m8,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8i64(
    <vscale x 8 x i64> %0,
    <vscale x 8 x i64>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1f64(
  <vscale x 1 x double>,
  <vscale x 1 x double>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1f64_nxv1f64(<vscale x 1 x double> %0, <vscale x 1 x double>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1f64_nxv1f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m1,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1f64(
    <vscale x 1 x double> %0,
    <vscale x 1 x double>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1f64(
  <vscale x 1 x double>,
  <vscale x 1 x double>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1f64_nxv1f64(<vscale x 1 x double> %0, <vscale x 1 x double>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1f64_nxv1f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m1,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1f64(
    <vscale x 1 x double> %0,
    <vscale x 1 x double>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2f64(
  <vscale x 2 x double>,
  <vscale x 2 x double>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2f64_nxv2f64(<vscale x 2 x double> %0, <vscale x 2 x double>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2f64_nxv2f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m2,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2f64(
    <vscale x 2 x double> %0,
    <vscale x 2 x double>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2f64(
  <vscale x 2 x double>,
  <vscale x 2 x double>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2f64_nxv2f64(<vscale x 2 x double> %0, <vscale x 2 x double>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2f64_nxv2f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m2,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2f64(
    <vscale x 2 x double> %0,
    <vscale x 2 x double>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4f64(
  <vscale x 4 x double>,
  <vscale x 4 x double>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4f64_nxv4f64(<vscale x 4 x double> %0, <vscale x 4 x double>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4f64_nxv4f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m4,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4f64(
    <vscale x 4 x double> %0,
    <vscale x 4 x double>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4f64(
  <vscale x 4 x double>,
  <vscale x 4 x double>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4f64_nxv4f64(<vscale x 4 x double> %0, <vscale x 4 x double>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4f64_nxv4f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m4,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4f64(
    <vscale x 4 x double> %0,
    <vscale x 4 x double>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8f64(
  <vscale x 8 x double>,
  <vscale x 8 x double>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8f64_nxv8f64(<vscale x 8 x double> %0, <vscale x 8 x double>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8f64_nxv8f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m8,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8f64(
    <vscale x 8 x double> %0,
    <vscale x 8 x double>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8f64(
  <vscale x 8 x double>,
  <vscale x 8 x double>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8f64_nxv8f64(<vscale x 8 x double> %0, <vscale x 8 x double>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8f64_nxv8f64:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e64,m8,ta,mu
; CHECK-NEXT:    vsse64.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8f64(
    <vscale x 8 x double> %0,
    <vscale x 8 x double>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1i32(
  <vscale x 1 x i32>,
  <vscale x 1 x i32>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1i32_nxv1i32(<vscale x 1 x i32> %0, <vscale x 1 x i32>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1i32_nxv1i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,mf2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1i32(
    <vscale x 1 x i32> %0,
    <vscale x 1 x i32>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1i32(
  <vscale x 1 x i32>,
  <vscale x 1 x i32>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1i32_nxv1i32(<vscale x 1 x i32> %0, <vscale x 1 x i32>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1i32_nxv1i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,mf2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1i32(
    <vscale x 1 x i32> %0,
    <vscale x 1 x i32>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2i32(
  <vscale x 2 x i32>,
  <vscale x 2 x i32>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2i32_nxv2i32(<vscale x 2 x i32> %0, <vscale x 2 x i32>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2i32_nxv2i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m1,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2i32(
    <vscale x 2 x i32> %0,
    <vscale x 2 x i32>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2i32(
  <vscale x 2 x i32>,
  <vscale x 2 x i32>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2i32_nxv2i32(<vscale x 2 x i32> %0, <vscale x 2 x i32>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2i32_nxv2i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m1,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2i32(
    <vscale x 2 x i32> %0,
    <vscale x 2 x i32>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4i32(
  <vscale x 4 x i32>,
  <vscale x 4 x i32>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4i32_nxv4i32(<vscale x 4 x i32> %0, <vscale x 4 x i32>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4i32_nxv4i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4i32(
    <vscale x 4 x i32> %0,
    <vscale x 4 x i32>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4i32(
  <vscale x 4 x i32>,
  <vscale x 4 x i32>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4i32_nxv4i32(<vscale x 4 x i32> %0, <vscale x 4 x i32>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4i32_nxv4i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4i32(
    <vscale x 4 x i32> %0,
    <vscale x 4 x i32>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8i32(
  <vscale x 8 x i32>,
  <vscale x 8 x i32>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8i32_nxv8i32(<vscale x 8 x i32> %0, <vscale x 8 x i32>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8i32_nxv8i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m4,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8i32(
    <vscale x 8 x i32> %0,
    <vscale x 8 x i32>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8i32(
  <vscale x 8 x i32>,
  <vscale x 8 x i32>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8i32_nxv8i32(<vscale x 8 x i32> %0, <vscale x 8 x i32>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8i32_nxv8i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m4,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8i32(
    <vscale x 8 x i32> %0,
    <vscale x 8 x i32>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv16i32(
  <vscale x 16 x i32>,
  <vscale x 16 x i32>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv16i32_nxv16i32(<vscale x 16 x i32> %0, <vscale x 16 x i32>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv16i32_nxv16i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m8,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv16i32(
    <vscale x 16 x i32> %0,
    <vscale x 16 x i32>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv16i32(
  <vscale x 16 x i32>,
  <vscale x 16 x i32>*,
  i64,
  <vscale x 16 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv16i32_nxv16i32(<vscale x 16 x i32> %0, <vscale x 16 x i32>* %1, i64 %2, <vscale x 16 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv16i32_nxv16i32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m8,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv16i32(
    <vscale x 16 x i32> %0,
    <vscale x 16 x i32>* %1,
    i64 %2,
    <vscale x 16 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1f32(
  <vscale x 1 x float>,
  <vscale x 1 x float>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1f32_nxv1f32(<vscale x 1 x float> %0, <vscale x 1 x float>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1f32_nxv1f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,mf2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1f32(
    <vscale x 1 x float> %0,
    <vscale x 1 x float>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1f32(
  <vscale x 1 x float>,
  <vscale x 1 x float>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1f32_nxv1f32(<vscale x 1 x float> %0, <vscale x 1 x float>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1f32_nxv1f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,mf2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1f32(
    <vscale x 1 x float> %0,
    <vscale x 1 x float>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2f32(
  <vscale x 2 x float>,
  <vscale x 2 x float>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2f32_nxv2f32(<vscale x 2 x float> %0, <vscale x 2 x float>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2f32_nxv2f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m1,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2f32(
    <vscale x 2 x float> %0,
    <vscale x 2 x float>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2f32(
  <vscale x 2 x float>,
  <vscale x 2 x float>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2f32_nxv2f32(<vscale x 2 x float> %0, <vscale x 2 x float>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2f32_nxv2f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m1,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2f32(
    <vscale x 2 x float> %0,
    <vscale x 2 x float>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4f32(
  <vscale x 4 x float>,
  <vscale x 4 x float>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4f32_nxv4f32(<vscale x 4 x float> %0, <vscale x 4 x float>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4f32_nxv4f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4f32(
    <vscale x 4 x float> %0,
    <vscale x 4 x float>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4f32(
  <vscale x 4 x float>,
  <vscale x 4 x float>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4f32_nxv4f32(<vscale x 4 x float> %0, <vscale x 4 x float>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4f32_nxv4f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m2,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4f32(
    <vscale x 4 x float> %0,
    <vscale x 4 x float>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8f32(
  <vscale x 8 x float>,
  <vscale x 8 x float>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8f32_nxv8f32(<vscale x 8 x float> %0, <vscale x 8 x float>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8f32_nxv8f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m4,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8f32(
    <vscale x 8 x float> %0,
    <vscale x 8 x float>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8f32(
  <vscale x 8 x float>,
  <vscale x 8 x float>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8f32_nxv8f32(<vscale x 8 x float> %0, <vscale x 8 x float>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8f32_nxv8f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m4,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8f32(
    <vscale x 8 x float> %0,
    <vscale x 8 x float>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv16f32(
  <vscale x 16 x float>,
  <vscale x 16 x float>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv16f32_nxv16f32(<vscale x 16 x float> %0, <vscale x 16 x float>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv16f32_nxv16f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m8,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv16f32(
    <vscale x 16 x float> %0,
    <vscale x 16 x float>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv16f32(
  <vscale x 16 x float>,
  <vscale x 16 x float>*,
  i64,
  <vscale x 16 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv16f32_nxv16f32(<vscale x 16 x float> %0, <vscale x 16 x float>* %1, i64 %2, <vscale x 16 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv16f32_nxv16f32:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e32,m8,ta,mu
; CHECK-NEXT:    vsse32.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv16f32(
    <vscale x 16 x float> %0,
    <vscale x 16 x float>* %1,
    i64 %2,
    <vscale x 16 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1i16(
  <vscale x 1 x i16>,
  <vscale x 1 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1i16_nxv1i16(<vscale x 1 x i16> %0, <vscale x 1 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1i16_nxv1i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1i16(
    <vscale x 1 x i16> %0,
    <vscale x 1 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1i16(
  <vscale x 1 x i16>,
  <vscale x 1 x i16>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1i16_nxv1i16(<vscale x 1 x i16> %0, <vscale x 1 x i16>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1i16_nxv1i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1i16(
    <vscale x 1 x i16> %0,
    <vscale x 1 x i16>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2i16(
  <vscale x 2 x i16>,
  <vscale x 2 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2i16_nxv2i16(<vscale x 2 x i16> %0, <vscale x 2 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2i16_nxv2i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2i16(
    <vscale x 2 x i16> %0,
    <vscale x 2 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2i16(
  <vscale x 2 x i16>,
  <vscale x 2 x i16>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2i16_nxv2i16(<vscale x 2 x i16> %0, <vscale x 2 x i16>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2i16_nxv2i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2i16(
    <vscale x 2 x i16> %0,
    <vscale x 2 x i16>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4i16(
  <vscale x 4 x i16>,
  <vscale x 4 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4i16_nxv4i16(<vscale x 4 x i16> %0, <vscale x 4 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4i16_nxv4i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m1,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4i16(
    <vscale x 4 x i16> %0,
    <vscale x 4 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4i16(
  <vscale x 4 x i16>,
  <vscale x 4 x i16>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4i16_nxv4i16(<vscale x 4 x i16> %0, <vscale x 4 x i16>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4i16_nxv4i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m1,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4i16(
    <vscale x 4 x i16> %0,
    <vscale x 4 x i16>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8i16(
  <vscale x 8 x i16>,
  <vscale x 8 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8i16_nxv8i16(<vscale x 8 x i16> %0, <vscale x 8 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8i16_nxv8i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8i16(
    <vscale x 8 x i16> %0,
    <vscale x 8 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8i16(
  <vscale x 8 x i16>,
  <vscale x 8 x i16>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8i16_nxv8i16(<vscale x 8 x i16> %0, <vscale x 8 x i16>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8i16_nxv8i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8i16(
    <vscale x 8 x i16> %0,
    <vscale x 8 x i16>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv16i16(
  <vscale x 16 x i16>,
  <vscale x 16 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv16i16_nxv16i16(<vscale x 16 x i16> %0, <vscale x 16 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv16i16_nxv16i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv16i16(
    <vscale x 16 x i16> %0,
    <vscale x 16 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv16i16(
  <vscale x 16 x i16>,
  <vscale x 16 x i16>*,
  i64,
  <vscale x 16 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv16i16_nxv16i16(<vscale x 16 x i16> %0, <vscale x 16 x i16>* %1, i64 %2, <vscale x 16 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv16i16_nxv16i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv16i16(
    <vscale x 16 x i16> %0,
    <vscale x 16 x i16>* %1,
    i64 %2,
    <vscale x 16 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv32i16(
  <vscale x 32 x i16>,
  <vscale x 32 x i16>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv32i16_nxv32i16(<vscale x 32 x i16> %0, <vscale x 32 x i16>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv32i16_nxv32i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m8,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv32i16(
    <vscale x 32 x i16> %0,
    <vscale x 32 x i16>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv32i16(
  <vscale x 32 x i16>,
  <vscale x 32 x i16>*,
  i64,
  <vscale x 32 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv32i16_nxv32i16(<vscale x 32 x i16> %0, <vscale x 32 x i16>* %1, i64 %2, <vscale x 32 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv32i16_nxv32i16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m8,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv32i16(
    <vscale x 32 x i16> %0,
    <vscale x 32 x i16>* %1,
    i64 %2,
    <vscale x 32 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1f16(
  <vscale x 1 x half>,
  <vscale x 1 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1f16_nxv1f16(<vscale x 1 x half> %0, <vscale x 1 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1f16_nxv1f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1f16(
    <vscale x 1 x half> %0,
    <vscale x 1 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1f16(
  <vscale x 1 x half>,
  <vscale x 1 x half>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1f16_nxv1f16(<vscale x 1 x half> %0, <vscale x 1 x half>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1f16_nxv1f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1f16(
    <vscale x 1 x half> %0,
    <vscale x 1 x half>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2f16(
  <vscale x 2 x half>,
  <vscale x 2 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2f16_nxv2f16(<vscale x 2 x half> %0, <vscale x 2 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2f16_nxv2f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2f16(
    <vscale x 2 x half> %0,
    <vscale x 2 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2f16(
  <vscale x 2 x half>,
  <vscale x 2 x half>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2f16_nxv2f16(<vscale x 2 x half> %0, <vscale x 2 x half>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2f16_nxv2f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,mf2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2f16(
    <vscale x 2 x half> %0,
    <vscale x 2 x half>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4f16(
  <vscale x 4 x half>,
  <vscale x 4 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4f16_nxv4f16(<vscale x 4 x half> %0, <vscale x 4 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4f16_nxv4f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m1,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4f16(
    <vscale x 4 x half> %0,
    <vscale x 4 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4f16(
  <vscale x 4 x half>,
  <vscale x 4 x half>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4f16_nxv4f16(<vscale x 4 x half> %0, <vscale x 4 x half>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4f16_nxv4f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m1,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4f16(
    <vscale x 4 x half> %0,
    <vscale x 4 x half>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8f16(
  <vscale x 8 x half>,
  <vscale x 8 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8f16_nxv8f16(<vscale x 8 x half> %0, <vscale x 8 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8f16_nxv8f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8f16(
    <vscale x 8 x half> %0,
    <vscale x 8 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8f16(
  <vscale x 8 x half>,
  <vscale x 8 x half>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8f16_nxv8f16(<vscale x 8 x half> %0, <vscale x 8 x half>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8f16_nxv8f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m2,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8f16(
    <vscale x 8 x half> %0,
    <vscale x 8 x half>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv16f16(
  <vscale x 16 x half>,
  <vscale x 16 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv16f16_nxv16f16(<vscale x 16 x half> %0, <vscale x 16 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv16f16_nxv16f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv16f16(
    <vscale x 16 x half> %0,
    <vscale x 16 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv16f16(
  <vscale x 16 x half>,
  <vscale x 16 x half>*,
  i64,
  <vscale x 16 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv16f16_nxv16f16(<vscale x 16 x half> %0, <vscale x 16 x half>* %1, i64 %2, <vscale x 16 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv16f16_nxv16f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m4,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv16f16(
    <vscale x 16 x half> %0,
    <vscale x 16 x half>* %1,
    i64 %2,
    <vscale x 16 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv32f16(
  <vscale x 32 x half>,
  <vscale x 32 x half>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv32f16_nxv32f16(<vscale x 32 x half> %0, <vscale x 32 x half>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv32f16_nxv32f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m8,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv32f16(
    <vscale x 32 x half> %0,
    <vscale x 32 x half>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv32f16(
  <vscale x 32 x half>,
  <vscale x 32 x half>*,
  i64,
  <vscale x 32 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv32f16_nxv32f16(<vscale x 32 x half> %0, <vscale x 32 x half>* %1, i64 %2, <vscale x 32 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv32f16_nxv32f16:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e16,m8,ta,mu
; CHECK-NEXT:    vsse16.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv32f16(
    <vscale x 32 x half> %0,
    <vscale x 32 x half>* %1,
    i64 %2,
    <vscale x 32 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv1i8(
  <vscale x 1 x i8>,
  <vscale x 1 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv1i8_nxv1i8(<vscale x 1 x i8> %0, <vscale x 1 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv1i8_nxv1i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf8,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv1i8(
    <vscale x 1 x i8> %0,
    <vscale x 1 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv1i8(
  <vscale x 1 x i8>,
  <vscale x 1 x i8>*,
  i64,
  <vscale x 1 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv1i8_nxv1i8(<vscale x 1 x i8> %0, <vscale x 1 x i8>* %1, i64 %2, <vscale x 1 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv1i8_nxv1i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf8,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv1i8(
    <vscale x 1 x i8> %0,
    <vscale x 1 x i8>* %1,
    i64 %2,
    <vscale x 1 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv2i8(
  <vscale x 2 x i8>,
  <vscale x 2 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv2i8_nxv2i8(<vscale x 2 x i8> %0, <vscale x 2 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv2i8_nxv2i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf4,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv2i8(
    <vscale x 2 x i8> %0,
    <vscale x 2 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv2i8(
  <vscale x 2 x i8>,
  <vscale x 2 x i8>*,
  i64,
  <vscale x 2 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv2i8_nxv2i8(<vscale x 2 x i8> %0, <vscale x 2 x i8>* %1, i64 %2, <vscale x 2 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv2i8_nxv2i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf4,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv2i8(
    <vscale x 2 x i8> %0,
    <vscale x 2 x i8>* %1,
    i64 %2,
    <vscale x 2 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv4i8(
  <vscale x 4 x i8>,
  <vscale x 4 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv4i8_nxv4i8(<vscale x 4 x i8> %0, <vscale x 4 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv4i8_nxv4i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf2,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv4i8(
    <vscale x 4 x i8> %0,
    <vscale x 4 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv4i8(
  <vscale x 4 x i8>,
  <vscale x 4 x i8>*,
  i64,
  <vscale x 4 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv4i8_nxv4i8(<vscale x 4 x i8> %0, <vscale x 4 x i8>* %1, i64 %2, <vscale x 4 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv4i8_nxv4i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,mf2,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv4i8(
    <vscale x 4 x i8> %0,
    <vscale x 4 x i8>* %1,
    i64 %2,
    <vscale x 4 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv8i8(
  <vscale x 8 x i8>,
  <vscale x 8 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv8i8_nxv8i8(<vscale x 8 x i8> %0, <vscale x 8 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv8i8_nxv8i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m1,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv8i8(
    <vscale x 8 x i8> %0,
    <vscale x 8 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv8i8(
  <vscale x 8 x i8>,
  <vscale x 8 x i8>*,
  i64,
  <vscale x 8 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv8i8_nxv8i8(<vscale x 8 x i8> %0, <vscale x 8 x i8>* %1, i64 %2, <vscale x 8 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv8i8_nxv8i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m1,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv8i8(
    <vscale x 8 x i8> %0,
    <vscale x 8 x i8>* %1,
    i64 %2,
    <vscale x 8 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv16i8(
  <vscale x 16 x i8>,
  <vscale x 16 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv16i8_nxv16i8(<vscale x 16 x i8> %0, <vscale x 16 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv16i8_nxv16i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m2,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv16i8(
    <vscale x 16 x i8> %0,
    <vscale x 16 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv16i8(
  <vscale x 16 x i8>,
  <vscale x 16 x i8>*,
  i64,
  <vscale x 16 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv16i8_nxv16i8(<vscale x 16 x i8> %0, <vscale x 16 x i8>* %1, i64 %2, <vscale x 16 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv16i8_nxv16i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m2,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv16i8(
    <vscale x 16 x i8> %0,
    <vscale x 16 x i8>* %1,
    i64 %2,
    <vscale x 16 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv32i8(
  <vscale x 32 x i8>,
  <vscale x 32 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv32i8_nxv32i8(<vscale x 32 x i8> %0, <vscale x 32 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv32i8_nxv32i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m4,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv32i8(
    <vscale x 32 x i8> %0,
    <vscale x 32 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv32i8(
  <vscale x 32 x i8>,
  <vscale x 32 x i8>*,
  i64,
  <vscale x 32 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv32i8_nxv32i8(<vscale x 32 x i8> %0, <vscale x 32 x i8>* %1, i64 %2, <vscale x 32 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv32i8_nxv32i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m4,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv32i8(
    <vscale x 32 x i8> %0,
    <vscale x 32 x i8>* %1,
    i64 %2,
    <vscale x 32 x i1> %3,
    i64 %4)

  ret void
}

declare void @llvm.riscv.vsse.nxv64i8(
  <vscale x 64 x i8>,
  <vscale x 64 x i8>*,
  i64,
  i64);

define void @intrinsic_vsse_v_nxv64i8_nxv64i8(<vscale x 64 x i8> %0, <vscale x 64 x i8>* %1, i64 %2, i64 %3) nounwind {
; CHECK-LABEL: intrinsic_vsse_v_nxv64i8_nxv64i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m8,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.nxv64i8(
    <vscale x 64 x i8> %0,
    <vscale x 64 x i8>* %1,
    i64 %2,
    i64 %3)

  ret void
}

declare void @llvm.riscv.vsse.mask.nxv64i8(
  <vscale x 64 x i8>,
  <vscale x 64 x i8>*,
  i64,
  <vscale x 64 x i1>,
  i64);

define void @intrinsic_vsse_mask_v_nxv64i8_nxv64i8(<vscale x 64 x i8> %0, <vscale x 64 x i8>* %1, i64 %2, <vscale x 64 x i1> %3, i64 %4) nounwind {
; CHECK-LABEL: intrinsic_vsse_mask_v_nxv64i8_nxv64i8:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    vsetvli a2, a2, e8,m8,ta,mu
; CHECK-NEXT:    vsse8.v v8, (a0), a1, v0.t
; CHECK-NEXT:    jalr zero, 0(ra)
entry:
  call void @llvm.riscv.vsse.mask.nxv64i8(
    <vscale x 64 x i8> %0,
    <vscale x 64 x i8>* %1,
    i64 %2,
    <vscale x 64 x i1> %3,
    i64 %4)

  ret void
}
