From 4eff7fae60ff9c4640752ae88befcd9f6428ee10 Mon Sep 17 00:00:00 2001 From: Jim Lin Date: Tue, 25 Jul 2023 13:14:27 +0800 Subject: [PATCH] [RISCV] Merge rv32/rv64 vector narrowing integer right shift intrinsic tests that have the same content. NFC. --- llvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll | 1934 -------------------- .../CodeGen/RISCV/rvv/{vnsra-rv64.ll => vnsra.ll} | 726 ++++---- llvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll | 1934 -------------------- .../CodeGen/RISCV/rvv/{vnsrl-rv64.ll => vnsrl.ll} | 726 ++++---- 4 files changed, 728 insertions(+), 4592 deletions(-) delete mode 100644 llvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll rename llvm/test/CodeGen/RISCV/rvv/{vnsra-rv64.ll => vnsra.ll} (84%) delete mode 100644 llvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll rename llvm/test/CodeGen/RISCV/rvv/{vnsrl-rv64.ll => vnsrl.ll} (84%) diff --git a/llvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll b/llvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll deleted file mode 100644 index 60759a3..0000000 --- a/llvm/test/CodeGen/RISCV/rvv/vnsra-rv32.ll +++ /dev/null @@ -1,1934 +0,0 @@ -; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv32 -mattr=+v -verify-machineinstrs \ -; RUN: < %s | FileCheck %s -declare @llvm.riscv.vnsra.nxv1i8.nxv1i16.nxv1i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i8_nxv1i16_nxv1i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i8.nxv1i16.nxv1i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16.nxv1i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i8_nxv1i16_nxv1i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16.nxv1i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i8.nxv2i16.nxv2i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i8_nxv2i16_nxv2i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i8.nxv2i16.nxv2i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16.nxv2i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i8_nxv2i16_nxv2i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16.nxv2i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i8.nxv4i16.nxv4i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i8_nxv4i16_nxv4i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i8.nxv4i16.nxv4i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16.nxv4i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i8_nxv4i16_nxv4i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16.nxv4i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i8.nxv8i16.nxv8i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i8_nxv8i16_nxv8i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma -; CHECK-NEXT: vnsra.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i8.nxv8i16.nxv8i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16.nxv8i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i8_nxv8i16_nxv8i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu -; CHECK-NEXT: vnsra.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16.nxv8i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv16i8.nxv16i16.nxv16i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv16i8_nxv16i16_nxv16i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma -; CHECK-NEXT: vnsra.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i8.nxv16i16.nxv16i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16.nxv16i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv16i8_nxv16i16_nxv16i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16.nxv16i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv32i8.nxv32i16.nxv32i8( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv32i8_nxv32i16_nxv32i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma -; CHECK-NEXT: vnsra.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv32i8.nxv32i16.nxv32i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16.nxv32i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv32i8_nxv32i16_nxv32i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu -; CHECK-NEXT: vnsra.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16.nxv32i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv1i16.nxv1i32.nxv1i16( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i16_nxv1i32_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i16.nxv1i32.nxv1i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32.nxv1i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i16_nxv1i32_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32.nxv1i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i16.nxv2i32.nxv2i16( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i16_nxv2i32_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i16.nxv2i32.nxv2i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32.nxv2i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i16_nxv2i32_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32.nxv2i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i16.nxv4i32.nxv4i16( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i16_nxv4i32_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma -; CHECK-NEXT: vnsra.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i16.nxv4i32.nxv4i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32.nxv4i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i16_nxv4i32_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu -; CHECK-NEXT: vnsra.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32.nxv4i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i16.nxv8i32.nxv8i16( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i16_nxv8i32_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma -; CHECK-NEXT: vnsra.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i16.nxv8i32.nxv8i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32.nxv8i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i16_nxv8i32_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32.nxv8i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv16i16.nxv16i32.nxv16i16( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv16i16_nxv16i32_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma -; CHECK-NEXT: vnsra.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i16.nxv16i32.nxv16i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32.nxv16i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv16i16_nxv16i32_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu -; CHECK-NEXT: vnsra.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32.nxv16i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv1i32.nxv1i64.nxv1i32( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i32_nxv1i64_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma -; CHECK-NEXT: vnsra.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i32.nxv1i64.nxv1i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64.nxv1i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i32_nxv1i64_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64.nxv1i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i32.nxv2i64.nxv2i32( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i32_nxv2i64_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma -; CHECK-NEXT: vnsra.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i32.nxv2i64.nxv2i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64.nxv2i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i32_nxv2i64_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu -; CHECK-NEXT: vnsra.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64.nxv2i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i32.nxv4i64.nxv4i32( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i32_nxv4i64_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma -; CHECK-NEXT: vnsra.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i32.nxv4i64.nxv4i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64.nxv4i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i32_nxv4i64_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu -; CHECK-NEXT: vnsra.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64.nxv4i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i32.nxv8i64.nxv8i32( - , - , - , - i32); - -define @intrinsic_vnsra_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i32_nxv8i64_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma -; CHECK-NEXT: vnsra.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i32.nxv8i64.nxv8i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64.nxv8i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsra_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i32_nxv8i64_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu -; CHECK-NEXT: vnsra.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64.nxv8i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv1i8.nxv1i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv1i8_nxv1i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i8_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i8.nxv1i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv1i8_nxv1i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i8_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i8.nxv2i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv2i8_nxv2i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i8_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i8.nxv2i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv2i8_nxv2i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i8_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i8.nxv4i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv4i8_nxv4i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i8_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i8.nxv4i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv4i8_nxv4i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i8_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i8.nxv8i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv8i8_nxv8i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i8_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma -; CHECK-NEXT: vnsra.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i8.nxv8i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv8i8_nxv8i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i8_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, mu -; CHECK-NEXT: vnsra.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv16i8.nxv16i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv16i8_nxv16i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv16i8_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma -; CHECK-NEXT: vnsra.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i8.nxv16i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv16i8_nxv16i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv16i8_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv32i8.nxv32i16( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv32i8_nxv32i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv32i8_nxv32i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma -; CHECK-NEXT: vnsra.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv32i8.nxv32i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv32i8_nxv32i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv32i8_nxv32i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, mu -; CHECK-NEXT: vnsra.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv1i16.nxv1i32( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv1i16_nxv1i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i16_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i16.nxv1i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv1i16_nxv1i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i16_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i16.nxv2i32( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv2i16_nxv2i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i16_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i16.nxv2i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv2i16_nxv2i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i16_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i16.nxv4i32( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv4i16_nxv4i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i16_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma -; CHECK-NEXT: vnsra.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i16.nxv4i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv4i16_nxv4i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i16_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu -; CHECK-NEXT: vnsra.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i16.nxv8i32( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv8i16_nxv8i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i16_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma -; CHECK-NEXT: vnsra.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i16.nxv8i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv8i16_nxv8i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i16_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv16i16.nxv16i32( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv16i16_nxv16i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv16i16_nxv16i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma -; CHECK-NEXT: vnsra.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i16.nxv16i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv16i16_nxv16i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv16i16_nxv16i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, mu -; CHECK-NEXT: vnsra.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv1i32.nxv1i64( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv1i32_nxv1i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i32_nxv1i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma -; CHECK-NEXT: vnsra.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i32.nxv1i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv1i32_nxv1i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i32_nxv1i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv2i32.nxv2i64( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv2i32_nxv2i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i32_nxv2i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma -; CHECK-NEXT: vnsra.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i32.nxv2i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv2i32_nxv2i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i32_nxv2i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu -; CHECK-NEXT: vnsra.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv4i32.nxv4i64( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv4i32_nxv4i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i32_nxv4i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma -; CHECK-NEXT: vnsra.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i32.nxv4i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv4i32_nxv4i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i32_nxv4i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu -; CHECK-NEXT: vnsra.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsra.nxv8i32.nxv8i64( - , - , - i32, - i32); - -define @intrinsic_vnsra_vx_nxv8i32_nxv8i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i32_nxv8i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma -; CHECK-NEXT: vnsra.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i32.nxv8i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsra_mask_vx_nxv8i32_nxv8i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i32_nxv8i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, mu -; CHECK-NEXT: vnsra.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv1i8_nxv1i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i8_nxv1i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i8.nxv1i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i8_nxv1i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv2i8_nxv2i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i8_nxv2i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i8.nxv2i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i8_nxv2i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv4i8_nxv4i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i8_nxv4i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i8.nxv4i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i8_nxv4i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv8i8_nxv8i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i8_nxv8i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma -; CHECK-NEXT: vnsra.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i8.nxv8i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i8_nxv8i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu -; CHECK-NEXT: vnsra.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv16i8_nxv16i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv16i8_nxv16i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma -; CHECK-NEXT: vnsra.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i8.nxv16i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv16i8_nxv16i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv32i8_nxv32i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv32i8_nxv32i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma -; CHECK-NEXT: vnsra.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv32i8.nxv32i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv32i8_nxv32i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu -; CHECK-NEXT: vnsra.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv1i16_nxv1i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i16_nxv1i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i16.nxv1i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i16_nxv1i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv2i16_nxv2i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i16_nxv2i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i16.nxv2i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i16_nxv2i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv4i16_nxv4i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i16_nxv4i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma -; CHECK-NEXT: vnsra.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i16.nxv4i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i16_nxv4i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu -; CHECK-NEXT: vnsra.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv8i16_nxv8i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i16_nxv8i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma -; CHECK-NEXT: vnsra.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i16.nxv8i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i16_nxv8i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv16i16_nxv16i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv16i16_nxv16i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma -; CHECK-NEXT: vnsra.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv16i16.nxv16i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv16i16_nxv16i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu -; CHECK-NEXT: vnsra.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv1i32_nxv1i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i32_nxv1i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma -; CHECK-NEXT: vnsra.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv1i32.nxv1i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i32_nxv1i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv2i32_nxv2i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i32_nxv2i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma -; CHECK-NEXT: vnsra.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv2i32.nxv2i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i32_nxv2i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu -; CHECK-NEXT: vnsra.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv4i32_nxv4i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i32_nxv4i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma -; CHECK-NEXT: vnsra.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv4i32.nxv4i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i32_nxv4i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu -; CHECK-NEXT: vnsra.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsra_vi_nxv8i32_nxv8i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i32_nxv8i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma -; CHECK-NEXT: vnsra.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.nxv8i32.nxv8i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsra_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i32_nxv8i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu -; CHECK-NEXT: vnsra.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} diff --git a/llvm/test/CodeGen/RISCV/rvv/vnsra-rv64.ll b/llvm/test/CodeGen/RISCV/rvv/vnsra.ll similarity index 84% rename from llvm/test/CodeGen/RISCV/rvv/vnsra-rv64.ll rename to llvm/test/CodeGen/RISCV/rvv/vnsra.ll index 1f7ae09..546a326 100644 --- a/llvm/test/CodeGen/RISCV/rvv/vnsra-rv64.ll +++ b/llvm/test/CodeGen/RISCV/rvv/vnsra.ll @@ -1,13 +1,15 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs \ -; RUN: < %s | FileCheck %s +; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+v \ +; RUN: -verify-machineinstrs | FileCheck %s +; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+v \ +; RUN: -verify-machineinstrs | FileCheck %s declare @llvm.riscv.vnsra.nxv1i8.nxv1i16.nxv1i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i8_nxv1i16_nxv1i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma @@ -18,7 +20,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -28,10 +30,10 @@ declare @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16.nxv1i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i8_nxv1i16_nxv1i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu @@ -43,7 +45,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -52,9 +54,9 @@ declare @llvm.riscv.vnsra.nxv2i8.nxv2i16.nxv2i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i8_nxv2i16_nxv2i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma @@ -65,7 +67,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -75,10 +77,10 @@ declare @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16.nxv2i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i8_nxv2i16_nxv2i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu @@ -90,7 +92,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -99,9 +101,9 @@ declare @llvm.riscv.vnsra.nxv4i8.nxv4i16.nxv4i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i8_nxv4i16_nxv4i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma @@ -112,7 +114,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -122,10 +124,10 @@ declare @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16.nxv4i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i8_nxv4i16_nxv4i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu @@ -137,7 +139,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -146,9 +148,9 @@ declare @llvm.riscv.vnsra.nxv8i8.nxv8i16.nxv8i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i8_nxv8i16_nxv8i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma @@ -160,7 +162,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -170,10 +172,10 @@ declare @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16.nxv8i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i8_nxv8i16_nxv8i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu @@ -185,7 +187,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -194,9 +196,9 @@ declare @llvm.riscv.vnsra.nxv16i8.nxv16i16.nxv16i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv16i8_nxv16i16_nxv16i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma @@ -208,7 +210,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -218,10 +220,10 @@ declare @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16.nxv16i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv16i8_nxv16i16_nxv16i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu @@ -233,7 +235,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -242,9 +244,9 @@ declare @llvm.riscv.vnsra.nxv32i8.nxv32i16.nxv32i8( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv32i8_nxv32i16_nxv32i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma @@ -256,7 +258,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -266,10 +268,10 @@ declare @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16.nxv32i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv32i8_nxv32i16_nxv32i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu @@ -281,7 +283,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -290,9 +292,9 @@ declare @llvm.riscv.vnsra.nxv1i16.nxv1i32.nxv1i16( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i16_nxv1i32_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma @@ -303,7 +305,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -313,10 +315,10 @@ declare @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32.nxv1i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i16_nxv1i32_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu @@ -328,7 +330,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -337,9 +339,9 @@ declare @llvm.riscv.vnsra.nxv2i16.nxv2i32.nxv2i16( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i16_nxv2i32_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma @@ -350,7 +352,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -360,10 +362,10 @@ declare @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32.nxv2i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i16_nxv2i32_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu @@ -375,7 +377,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -384,9 +386,9 @@ declare @llvm.riscv.vnsra.nxv4i16.nxv4i32.nxv4i16( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i16_nxv4i32_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma @@ -398,7 +400,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -408,10 +410,10 @@ declare @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32.nxv4i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i16_nxv4i32_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu @@ -423,7 +425,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -432,9 +434,9 @@ declare @llvm.riscv.vnsra.nxv8i16.nxv8i32.nxv8i16( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i16_nxv8i32_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma @@ -446,7 +448,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -456,10 +458,10 @@ declare @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32.nxv8i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i16_nxv8i32_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu @@ -471,7 +473,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -480,9 +482,9 @@ declare @llvm.riscv.vnsra.nxv16i16.nxv16i32.nxv16i16( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv16i16_nxv16i32_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma @@ -494,7 +496,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -504,10 +506,10 @@ declare @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32.nxv16i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv16i16_nxv16i32_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu @@ -519,7 +521,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -528,9 +530,9 @@ declare @llvm.riscv.vnsra.nxv1i32.nxv1i64.nxv1i32( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv1i32_nxv1i64_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma @@ -541,7 +543,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -551,10 +553,10 @@ declare @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64.nxv1i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv1i32_nxv1i64_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu @@ -566,7 +568,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -575,9 +577,9 @@ declare @llvm.riscv.vnsra.nxv2i32.nxv2i64.nxv2i32( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv2i32_nxv2i64_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma @@ -589,7 +591,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -599,10 +601,10 @@ declare @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64.nxv2i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv2i32_nxv2i64_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu @@ -614,7 +616,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -623,9 +625,9 @@ declare @llvm.riscv.vnsra.nxv4i32.nxv4i64.nxv4i32( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv4i32_nxv4i64_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma @@ -637,7 +639,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -647,10 +649,10 @@ declare @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64.nxv4i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv4i32_nxv4i64_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu @@ -662,7 +664,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -671,9 +673,9 @@ declare @llvm.riscv.vnsra.nxv8i32.nxv8i64.nxv8i32( , , , - i64); + iXLen); -define @intrinsic_vnsra_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsra_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_wv_nxv8i32_nxv8i64_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma @@ -685,7 +687,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -695,10 +697,10 @@ declare @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64.nxv8i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_wv_nxv8i32_nxv8i64_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu @@ -710,7 +712,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -718,10 +720,10 @@ entry: declare @llvm.riscv.vnsra.nxv1i8.nxv1i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv1i8_nxv1i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv1i8_nxv1i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i8_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma @@ -731,8 +733,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i8.nxv1i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -740,12 +742,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv1i8_nxv1i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv1i8_nxv1i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i8_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu @@ -755,9 +757,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -765,10 +767,10 @@ entry: declare @llvm.riscv.vnsra.nxv2i8.nxv2i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv2i8_nxv2i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv2i8_nxv2i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i8_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma @@ -778,8 +780,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i8.nxv2i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -787,12 +789,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv2i8_nxv2i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv2i8_nxv2i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i8_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu @@ -802,9 +804,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -812,10 +814,10 @@ entry: declare @llvm.riscv.vnsra.nxv4i8.nxv4i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv4i8_nxv4i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv4i8_nxv4i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i8_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma @@ -825,8 +827,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i8.nxv4i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -834,12 +836,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv4i8_nxv4i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv4i8_nxv4i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i8_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, mu @@ -849,9 +851,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -859,10 +861,10 @@ entry: declare @llvm.riscv.vnsra.nxv8i8.nxv8i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv8i8_nxv8i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv8i8_nxv8i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i8_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma @@ -873,8 +875,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i8.nxv8i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -882,12 +884,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv8i8_nxv8i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv8i8_nxv8i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i8_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, mu @@ -897,9 +899,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -907,10 +909,10 @@ entry: declare @llvm.riscv.vnsra.nxv16i8.nxv16i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv16i8_nxv16i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv16i8_nxv16i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv16i8_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma @@ -921,8 +923,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv16i8.nxv16i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -930,12 +932,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv16i8_nxv16i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv16i8_nxv16i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv16i8_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, mu @@ -945,9 +947,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -955,10 +957,10 @@ entry: declare @llvm.riscv.vnsra.nxv32i8.nxv32i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv32i8_nxv32i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv32i8_nxv32i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv32i8_nxv32i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma @@ -969,8 +971,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv32i8.nxv32i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -978,12 +980,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv32i8_nxv32i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv32i8_nxv32i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv32i8_nxv32i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, mu @@ -993,9 +995,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1003,10 +1005,10 @@ entry: declare @llvm.riscv.vnsra.nxv1i16.nxv1i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv1i16_nxv1i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv1i16_nxv1i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i16_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma @@ -1016,8 +1018,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i16.nxv1i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1025,12 +1027,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv1i16_nxv1i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv1i16_nxv1i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i16_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu @@ -1040,9 +1042,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1050,10 +1052,10 @@ entry: declare @llvm.riscv.vnsra.nxv2i16.nxv2i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv2i16_nxv2i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv2i16_nxv2i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i16_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma @@ -1063,8 +1065,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i16.nxv2i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1072,12 +1074,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv2i16_nxv2i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv2i16_nxv2i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i16_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu @@ -1087,9 +1089,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1097,10 +1099,10 @@ entry: declare @llvm.riscv.vnsra.nxv4i16.nxv4i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv4i16_nxv4i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv4i16_nxv4i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i16_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma @@ -1111,8 +1113,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i16.nxv4i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1120,12 +1122,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv4i16_nxv4i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv4i16_nxv4i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i16_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu @@ -1135,9 +1137,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1145,10 +1147,10 @@ entry: declare @llvm.riscv.vnsra.nxv8i16.nxv8i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv8i16_nxv8i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv8i16_nxv8i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i16_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma @@ -1159,8 +1161,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i16.nxv8i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1168,12 +1170,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv8i16_nxv8i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv8i16_nxv8i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i16_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, mu @@ -1183,9 +1185,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1193,10 +1195,10 @@ entry: declare @llvm.riscv.vnsra.nxv16i16.nxv16i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv16i16_nxv16i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv16i16_nxv16i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv16i16_nxv16i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma @@ -1207,8 +1209,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv16i16.nxv16i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1216,12 +1218,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv16i16_nxv16i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv16i16_nxv16i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv16i16_nxv16i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, mu @@ -1231,9 +1233,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1241,10 +1243,10 @@ entry: declare @llvm.riscv.vnsra.nxv1i32.nxv1i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv1i32_nxv1i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv1i32_nxv1i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv1i32_nxv1i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma @@ -1254,8 +1256,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i32.nxv1i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1263,12 +1265,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv1i32_nxv1i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv1i32_nxv1i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv1i32_nxv1i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu @@ -1278,9 +1280,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1288,10 +1290,10 @@ entry: declare @llvm.riscv.vnsra.nxv2i32.nxv2i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv2i32_nxv2i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv2i32_nxv2i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv2i32_nxv2i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma @@ -1302,8 +1304,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i32.nxv2i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1311,12 +1313,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv2i32_nxv2i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv2i32_nxv2i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv2i32_nxv2i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu @@ -1326,9 +1328,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1336,10 +1338,10 @@ entry: declare @llvm.riscv.vnsra.nxv4i32.nxv4i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv4i32_nxv4i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv4i32_nxv4i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv4i32_nxv4i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma @@ -1350,8 +1352,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i32.nxv4i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1359,12 +1361,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv4i32_nxv4i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv4i32_nxv4i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv4i32_nxv4i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu @@ -1374,9 +1376,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1384,10 +1386,10 @@ entry: declare @llvm.riscv.vnsra.nxv8i32.nxv8i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_vx_nxv8i32_nxv8i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsra_vx_nxv8i32_nxv8i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vx_nxv8i32_nxv8i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma @@ -1398,8 +1400,8 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i32.nxv8i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1407,12 +1409,12 @@ entry: declare @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsra_mask_vx_nxv8i32_nxv8i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsra_mask_vx_nxv8i32_nxv8i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vx_nxv8i32_nxv8i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, mu @@ -1422,14 +1424,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv1i8_nxv1i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv1i8_nxv1i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i8_nxv1i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma @@ -1439,13 +1441,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i8.nxv1i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i8_nxv1i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu @@ -1455,14 +1457,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i8.nxv1i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv2i8_nxv2i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv2i8_nxv2i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i8_nxv2i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma @@ -1472,13 +1474,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i8.nxv2i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i8_nxv2i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu @@ -1488,14 +1490,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i8.nxv2i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv4i8_nxv4i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv4i8_nxv4i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i8_nxv4i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma @@ -1505,13 +1507,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i8.nxv4i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i8_nxv4i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu @@ -1521,14 +1523,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i8.nxv4i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv8i8_nxv8i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv8i8_nxv8i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i8_nxv8i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma @@ -1539,13 +1541,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i8.nxv8i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i8_nxv8i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu @@ -1555,14 +1557,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i8.nxv8i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv16i8_nxv16i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv16i8_nxv16i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv16i8_nxv16i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma @@ -1573,13 +1575,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv16i8.nxv16i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv16i8_nxv16i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu @@ -1589,14 +1591,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv16i8.nxv16i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv32i8_nxv32i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv32i8_nxv32i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv32i8_nxv32i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma @@ -1607,13 +1609,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv32i8.nxv32i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv32i8_nxv32i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu @@ -1623,14 +1625,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv32i8.nxv32i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv1i16_nxv1i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv1i16_nxv1i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i16_nxv1i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma @@ -1640,13 +1642,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i16.nxv1i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i16_nxv1i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu @@ -1656,14 +1658,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i16.nxv1i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv2i16_nxv2i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv2i16_nxv2i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i16_nxv2i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma @@ -1673,13 +1675,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i16.nxv2i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i16_nxv2i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu @@ -1689,14 +1691,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i16.nxv2i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv4i16_nxv4i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv4i16_nxv4i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i16_nxv4i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma @@ -1707,13 +1709,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i16.nxv4i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i16_nxv4i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu @@ -1723,14 +1725,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i16.nxv4i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv8i16_nxv8i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv8i16_nxv8i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i16_nxv8i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma @@ -1741,13 +1743,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i16.nxv8i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i16_nxv8i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu @@ -1757,14 +1759,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i16.nxv8i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv16i16_nxv16i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv16i16_nxv16i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv16i16_nxv16i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma @@ -1775,13 +1777,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv16i16.nxv16i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv16i16_nxv16i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu @@ -1791,14 +1793,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv16i16.nxv16i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv1i32_nxv1i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv1i32_nxv1i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv1i32_nxv1i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma @@ -1808,13 +1810,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv1i32.nxv1i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv1i32_nxv1i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu @@ -1824,14 +1826,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv1i32.nxv1i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv2i32_nxv2i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv2i32_nxv2i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv2i32_nxv2i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma @@ -1842,13 +1844,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv2i32.nxv2i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv2i32_nxv2i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu @@ -1858,14 +1860,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv2i32.nxv2i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv4i32_nxv4i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv4i32_nxv4i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv4i32_nxv4i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma @@ -1876,13 +1878,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv4i32.nxv4i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv4i32_nxv4i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu @@ -1892,14 +1894,14 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv4i32.nxv4i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsra_vi_nxv8i32_nxv8i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsra_vi_nxv8i32_nxv8i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsra_vi_nxv8i32_nxv8i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma @@ -1910,13 +1912,13 @@ entry: %a = call @llvm.riscv.vnsra.nxv8i32.nxv8i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsra_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsra_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsra_mask_vi_nxv8i32_nxv8i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu @@ -1926,9 +1928,9 @@ entry: %a = call @llvm.riscv.vnsra.mask.nxv8i32.nxv8i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } diff --git a/llvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll b/llvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll deleted file mode 100644 index 829118f..0000000 --- a/llvm/test/CodeGen/RISCV/rvv/vnsrl-rv32.ll +++ /dev/null @@ -1,1934 +0,0 @@ -; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv32 -mattr=+v -verify-machineinstrs \ -; RUN: < %s | FileCheck %s -declare @llvm.riscv.vnsrl.nxv1i8.nxv1i16.nxv1i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i8_nxv1i16_nxv1i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i8.nxv1i16.nxv1i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16.nxv1i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i8_nxv1i16_nxv1i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16.nxv1i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i8.nxv2i16.nxv2i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i8_nxv2i16_nxv2i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i8.nxv2i16.nxv2i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16.nxv2i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i8_nxv2i16_nxv2i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16.nxv2i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i8.nxv4i16.nxv4i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i8_nxv4i16_nxv4i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i8.nxv4i16.nxv4i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16.nxv4i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i8_nxv4i16_nxv4i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16.nxv4i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i8.nxv8i16.nxv8i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i8_nxv8i16_nxv8i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma -; CHECK-NEXT: vnsrl.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i8.nxv8i16.nxv8i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16.nxv8i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i8_nxv8i16_nxv8i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16.nxv8i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv16i8.nxv16i16.nxv16i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv16i8_nxv16i16_nxv16i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma -; CHECK-NEXT: vnsrl.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i8.nxv16i16.nxv16i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16.nxv16i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv16i8_nxv16i16_nxv16i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16.nxv16i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv32i8.nxv32i16.nxv32i8( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv32i8_nxv32i16_nxv32i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma -; CHECK-NEXT: vnsrl.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv32i8.nxv32i16.nxv32i8( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16.nxv32i8( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv32i8_nxv32i16_nxv32i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16.nxv32i8( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv1i16.nxv1i32.nxv1i16( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i16_nxv1i32_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i16.nxv1i32.nxv1i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32.nxv1i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i16_nxv1i32_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32.nxv1i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i16.nxv2i32.nxv2i16( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i16_nxv2i32_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i16.nxv2i32.nxv2i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32.nxv2i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i16_nxv2i32_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32.nxv2i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i16.nxv4i32.nxv4i16( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i16_nxv4i32_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma -; CHECK-NEXT: vnsrl.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i16.nxv4i32.nxv4i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32.nxv4i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i16_nxv4i32_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32.nxv4i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i16.nxv8i32.nxv8i16( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i16_nxv8i32_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma -; CHECK-NEXT: vnsrl.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i16.nxv8i32.nxv8i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32.nxv8i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i16_nxv8i32_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32.nxv8i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv16i16.nxv16i32.nxv16i16( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv16i16_nxv16i32_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma -; CHECK-NEXT: vnsrl.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i16.nxv16i32.nxv16i16( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32.nxv16i16( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv16i16_nxv16i32_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32.nxv16i16( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv1i32.nxv1i64.nxv1i32( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i32_nxv1i64_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma -; CHECK-NEXT: vnsrl.wv v8, v8, v9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i32.nxv1i64.nxv1i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64.nxv1i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i32_nxv1i64_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v9, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64.nxv1i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i32.nxv2i64.nxv2i32( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i32_nxv2i64_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma -; CHECK-NEXT: vnsrl.wv v11, v8, v10 -; CHECK-NEXT: vmv.v.v v8, v11 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i32.nxv2i64.nxv2i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64.nxv2i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i32_nxv2i64_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v10, v9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64.nxv2i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i32.nxv4i64.nxv4i32( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i32_nxv4i64_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma -; CHECK-NEXT: vnsrl.wv v14, v8, v12 -; CHECK-NEXT: vmv.v.v v8, v14 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i32.nxv4i64.nxv4i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64.nxv4i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i32_nxv4i64_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v12, v10, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64.nxv4i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i32.nxv8i64.nxv8i32( - , - , - , - i32); - -define @intrinsic_vnsrl_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i32_nxv8i64_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma -; CHECK-NEXT: vnsrl.wv v20, v8, v16 -; CHECK-NEXT: vmv.v.v v8, v20 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i32.nxv8i64.nxv8i32( - undef, - %0, - %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64.nxv8i32( - , - , - , - , - i32, - i32); - -define @intrinsic_vnsrl_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i32_nxv8i64_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu -; CHECK-NEXT: vnsrl.wv v8, v16, v12, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64.nxv8i32( - %0, - %1, - %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv1i8.nxv1i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv1i8_nxv1i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i8_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i8.nxv1i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv1i8_nxv1i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i8_nxv1i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i8.nxv2i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv2i8_nxv2i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i8_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i8.nxv2i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv2i8_nxv2i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i8_nxv2i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i8.nxv4i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv4i8_nxv4i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i8_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i8.nxv4i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv4i8_nxv4i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i8_nxv4i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i8.nxv8i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv8i8_nxv8i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i8_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma -; CHECK-NEXT: vnsrl.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i8.nxv8i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv8i8_nxv8i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i8_nxv8i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv16i8.nxv16i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv16i8_nxv16i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv16i8_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma -; CHECK-NEXT: vnsrl.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i8.nxv16i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv16i8_nxv16i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv16i8_nxv16i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv32i8.nxv32i16( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv32i8_nxv32i16( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv32i8_nxv32i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma -; CHECK-NEXT: vnsrl.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv32i8.nxv32i16( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv32i8_nxv32i16( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv32i8_nxv32i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv1i16.nxv1i32( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv1i16_nxv1i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i16_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i16.nxv1i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv1i16_nxv1i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i16_nxv1i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i16.nxv2i32( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv2i16_nxv2i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i16_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i16.nxv2i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv2i16_nxv2i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i16_nxv2i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i16.nxv4i32( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv4i16_nxv4i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i16_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma -; CHECK-NEXT: vnsrl.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i16.nxv4i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv4i16_nxv4i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i16_nxv4i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i16.nxv8i32( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv8i16_nxv8i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i16_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma -; CHECK-NEXT: vnsrl.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i16.nxv8i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv8i16_nxv8i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i16_nxv8i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv16i16.nxv16i32( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv16i16_nxv16i32( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv16i16_nxv16i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma -; CHECK-NEXT: vnsrl.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i16.nxv16i32( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv16i16_nxv16i32( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv16i16_nxv16i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv1i32.nxv1i64( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv1i32_nxv1i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i32_nxv1i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma -; CHECK-NEXT: vnsrl.wx v8, v8, a0 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i32.nxv1i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv1i32_nxv1i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i32_nxv1i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v9, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv2i32.nxv2i64( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv2i32_nxv2i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i32_nxv2i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma -; CHECK-NEXT: vnsrl.wx v10, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i32.nxv2i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv2i32_nxv2i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i32_nxv2i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v10, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv4i32.nxv4i64( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv4i32_nxv4i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i32_nxv4i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma -; CHECK-NEXT: vnsrl.wx v12, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i32.nxv4i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv4i32_nxv4i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i32_nxv4i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v12, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -declare @llvm.riscv.vnsrl.nxv8i32.nxv8i64( - , - , - i32, - i32); - -define @intrinsic_vnsrl_vx_nxv8i32_nxv8i64( %0, i32 %1, i32 %2) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i32_nxv8i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma -; CHECK-NEXT: vnsrl.wx v16, v8, a0 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i32.nxv8i64( - undef, - %0, - i32 %1, - i32 %2) - - ret %a -} - -declare @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( - , - , - i32, - , - i32, - i32); - -define @intrinsic_vnsrl_mask_vx_nxv8i32_nxv8i64( %0, %1, i32 %2, %3, i32 %4) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i32_nxv8i64: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, mu -; CHECK-NEXT: vnsrl.wx v8, v16, a0, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( - %0, - %1, - i32 %2, - %3, - i32 %4, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv1i8_nxv1i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i8_nxv1i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i8.nxv1i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i8_nxv1i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv2i8_nxv2i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i8_nxv2i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i8.nxv2i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i8_nxv2i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv4i8_nxv4i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i8_nxv4i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i8.nxv4i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i8_nxv4i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv8i8_nxv8i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i8_nxv8i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma -; CHECK-NEXT: vnsrl.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i8.nxv8i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i8_nxv8i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv16i8_nxv16i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv16i8_nxv16i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma -; CHECK-NEXT: vnsrl.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i8.nxv16i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv16i8_nxv16i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv32i8_nxv32i16_i8( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv32i8_nxv32i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma -; CHECK-NEXT: vnsrl.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv32i8.nxv32i16( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv32i8_nxv32i16_i8: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv1i16_nxv1i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i16_nxv1i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i16.nxv1i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i16_nxv1i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv2i16_nxv2i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i16_nxv2i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i16.nxv2i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i16_nxv2i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv4i16_nxv4i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i16_nxv4i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma -; CHECK-NEXT: vnsrl.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i16.nxv4i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i16_nxv4i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv8i16_nxv8i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i16_nxv8i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma -; CHECK-NEXT: vnsrl.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i16.nxv8i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i16_nxv8i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv16i16_nxv16i32_i16( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv16i16_nxv16i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma -; CHECK-NEXT: vnsrl.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv16i16.nxv16i32( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv16i16_nxv16i32_i16: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv1i32_nxv1i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i32_nxv1i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma -; CHECK-NEXT: vnsrl.wi v8, v8, 9 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv1i32.nxv1i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i32_nxv1i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v9, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv2i32_nxv2i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i32_nxv2i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma -; CHECK-NEXT: vnsrl.wi v10, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v10 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv2i32.nxv2i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i32_nxv2i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v10, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv4i32_nxv4i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i32_nxv4i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma -; CHECK-NEXT: vnsrl.wi v12, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v12 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv4i32.nxv4i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i32_nxv4i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v12, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} - -define @intrinsic_vnsrl_vi_nxv8i32_nxv8i64_i32( %0, i32 %1) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i32_nxv8i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma -; CHECK-NEXT: vnsrl.wi v16, v8, 9 -; CHECK-NEXT: vmv.v.v v8, v16 -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.nxv8i32.nxv8i64( - undef, - %0, - i32 9, - i32 %1) - - ret %a -} - -define @intrinsic_vnsrl_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, i32 %3) nounwind { -; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i32_nxv8i64_i32: -; CHECK: # %bb.0: # %entry -; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu -; CHECK-NEXT: vnsrl.wi v8, v16, 9, v0.t -; CHECK-NEXT: ret -entry: - %a = call @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( - %0, - %1, - i32 9, - %2, - i32 %3, i32 1) - - ret %a -} diff --git a/llvm/test/CodeGen/RISCV/rvv/vnsrl-rv64.ll b/llvm/test/CodeGen/RISCV/rvv/vnsrl.ll similarity index 84% rename from llvm/test/CodeGen/RISCV/rvv/vnsrl-rv64.ll rename to llvm/test/CodeGen/RISCV/rvv/vnsrl.ll index eeaafe0..f89b129 100644 --- a/llvm/test/CodeGen/RISCV/rvv/vnsrl-rv64.ll +++ b/llvm/test/CodeGen/RISCV/rvv/vnsrl.ll @@ -1,13 +1,15 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv64 -mattr=+v -verify-machineinstrs \ -; RUN: < %s | FileCheck %s +; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+v \ +; RUN: -verify-machineinstrs | FileCheck %s +; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+v \ +; RUN: -verify-machineinstrs | FileCheck %s declare @llvm.riscv.vnsrl.nxv1i8.nxv1i16.nxv1i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i8_nxv1i16_nxv1i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma @@ -18,7 +20,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -28,10 +30,10 @@ declare @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16.nxv1i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv1i8_nxv1i16_nxv1i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i8_nxv1i16_nxv1i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu @@ -43,7 +45,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -52,9 +54,9 @@ declare @llvm.riscv.vnsrl.nxv2i8.nxv2i16.nxv2i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i8_nxv2i16_nxv2i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma @@ -65,7 +67,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -75,10 +77,10 @@ declare @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16.nxv2i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv2i8_nxv2i16_nxv2i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i8_nxv2i16_nxv2i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu @@ -90,7 +92,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -99,9 +101,9 @@ declare @llvm.riscv.vnsrl.nxv4i8.nxv4i16.nxv4i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i8_nxv4i16_nxv4i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma @@ -112,7 +114,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -122,10 +124,10 @@ declare @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16.nxv4i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv4i8_nxv4i16_nxv4i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i8_nxv4i16_nxv4i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu @@ -137,7 +139,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -146,9 +148,9 @@ declare @llvm.riscv.vnsrl.nxv8i8.nxv8i16.nxv8i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i8_nxv8i16_nxv8i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma @@ -160,7 +162,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -170,10 +172,10 @@ declare @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16.nxv8i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv8i8_nxv8i16_nxv8i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i8_nxv8i16_nxv8i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu @@ -185,7 +187,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -194,9 +196,9 @@ declare @llvm.riscv.vnsrl.nxv16i8.nxv16i16.nxv16i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv16i8_nxv16i16_nxv16i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma @@ -208,7 +210,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -218,10 +220,10 @@ declare @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16.nxv16i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv16i8_nxv16i16_nxv16i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv16i8_nxv16i16_nxv16i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu @@ -233,7 +235,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -242,9 +244,9 @@ declare @llvm.riscv.vnsrl.nxv32i8.nxv32i16.nxv32i8( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv32i8_nxv32i16_nxv32i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma @@ -256,7 +258,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -266,10 +268,10 @@ declare @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16.nxv32i8( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv32i8_nxv32i16_nxv32i8( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv32i8_nxv32i16_nxv32i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu @@ -281,7 +283,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -290,9 +292,9 @@ declare @llvm.riscv.vnsrl.nxv1i16.nxv1i32.nxv1i16( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i16_nxv1i32_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma @@ -303,7 +305,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -313,10 +315,10 @@ declare @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32.nxv1i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv1i16_nxv1i32_nxv1i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i16_nxv1i32_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu @@ -328,7 +330,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -337,9 +339,9 @@ declare @llvm.riscv.vnsrl.nxv2i16.nxv2i32.nxv2i16( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i16_nxv2i32_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma @@ -350,7 +352,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -360,10 +362,10 @@ declare @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32.nxv2i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv2i16_nxv2i32_nxv2i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i16_nxv2i32_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu @@ -375,7 +377,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -384,9 +386,9 @@ declare @llvm.riscv.vnsrl.nxv4i16.nxv4i32.nxv4i16( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i16_nxv4i32_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma @@ -398,7 +400,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -408,10 +410,10 @@ declare @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32.nxv4i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv4i16_nxv4i32_nxv4i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i16_nxv4i32_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu @@ -423,7 +425,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -432,9 +434,9 @@ declare @llvm.riscv.vnsrl.nxv8i16.nxv8i32.nxv8i16( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i16_nxv8i32_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma @@ -446,7 +448,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -456,10 +458,10 @@ declare @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32.nxv8i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv8i16_nxv8i32_nxv8i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i16_nxv8i32_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu @@ -471,7 +473,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -480,9 +482,9 @@ declare @llvm.riscv.vnsrl.nxv16i16.nxv16i32.nxv16i16( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv16i16_nxv16i32_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma @@ -494,7 +496,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -504,10 +506,10 @@ declare @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32.nxv16i16( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv16i16_nxv16i32_nxv16i16( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv16i16_nxv16i32_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu @@ -519,7 +521,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -528,9 +530,9 @@ declare @llvm.riscv.vnsrl.nxv1i32.nxv1i64.nxv1i32( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv1i32_nxv1i64_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma @@ -541,7 +543,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -551,10 +553,10 @@ declare @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64.nxv1i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv1i32_nxv1i64_nxv1i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv1i32_nxv1i64_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu @@ -566,7 +568,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -575,9 +577,9 @@ declare @llvm.riscv.vnsrl.nxv2i32.nxv2i64.nxv2i32( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv2i32_nxv2i64_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma @@ -589,7 +591,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -599,10 +601,10 @@ declare @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64.nxv2i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv2i32_nxv2i64_nxv2i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv2i32_nxv2i64_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu @@ -614,7 +616,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -623,9 +625,9 @@ declare @llvm.riscv.vnsrl.nxv4i32.nxv4i64.nxv4i32( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv4i32_nxv4i64_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma @@ -637,7 +639,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -647,10 +649,10 @@ declare @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64.nxv4i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv4i32_nxv4i64_nxv4i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv4i32_nxv4i64_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu @@ -662,7 +664,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -671,9 +673,9 @@ declare @llvm.riscv.vnsrl.nxv8i32.nxv8i64.nxv8i32( , , , - i64); + iXLen); -define @intrinsic_vnsrl_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, i64 %2) nounwind { +define @intrinsic_vnsrl_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_wv_nxv8i32_nxv8i64_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma @@ -685,7 +687,7 @@ entry: undef, %0, %1, - i64 %2) + iXLen %2) ret %a } @@ -695,10 +697,10 @@ declare @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64.nxv8i32( , , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_wv_nxv8i32_nxv8i64_nxv8i32( %0, %1, %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_wv_nxv8i32_nxv8i64_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu @@ -710,7 +712,7 @@ entry: %1, %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -718,10 +720,10 @@ entry: declare @llvm.riscv.vnsrl.nxv1i8.nxv1i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv1i8_nxv1i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv1i8_nxv1i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i8_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma @@ -731,8 +733,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i8.nxv1i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -740,12 +742,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv1i8_nxv1i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv1i8_nxv1i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i8_nxv1i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu @@ -755,9 +757,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -765,10 +767,10 @@ entry: declare @llvm.riscv.vnsrl.nxv2i8.nxv2i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv2i8_nxv2i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv2i8_nxv2i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i8_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma @@ -778,8 +780,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i8.nxv2i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -787,12 +789,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv2i8_nxv2i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv2i8_nxv2i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i8_nxv2i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, mu @@ -802,9 +804,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -812,10 +814,10 @@ entry: declare @llvm.riscv.vnsrl.nxv4i8.nxv4i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv4i8_nxv4i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv4i8_nxv4i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i8_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma @@ -825,8 +827,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i8.nxv4i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -834,12 +836,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv4i8_nxv4i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv4i8_nxv4i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i8_nxv4i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, mu @@ -849,9 +851,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -859,10 +861,10 @@ entry: declare @llvm.riscv.vnsrl.nxv8i8.nxv8i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv8i8_nxv8i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv8i8_nxv8i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i8_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma @@ -873,8 +875,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i8.nxv8i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -882,12 +884,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv8i8_nxv8i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv8i8_nxv8i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i8_nxv8i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, mu @@ -897,9 +899,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -907,10 +909,10 @@ entry: declare @llvm.riscv.vnsrl.nxv16i8.nxv16i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv16i8_nxv16i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv16i8_nxv16i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv16i8_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma @@ -921,8 +923,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv16i8.nxv16i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -930,12 +932,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv16i8_nxv16i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv16i8_nxv16i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv16i8_nxv16i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, mu @@ -945,9 +947,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -955,10 +957,10 @@ entry: declare @llvm.riscv.vnsrl.nxv32i8.nxv32i16( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv32i8_nxv32i16( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv32i8_nxv32i16( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv32i8_nxv32i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma @@ -969,8 +971,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv32i8.nxv32i16( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -978,12 +980,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv32i8_nxv32i16( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv32i8_nxv32i16( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv32i8_nxv32i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, mu @@ -993,9 +995,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1003,10 +1005,10 @@ entry: declare @llvm.riscv.vnsrl.nxv1i16.nxv1i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv1i16_nxv1i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv1i16_nxv1i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i16_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma @@ -1016,8 +1018,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i16.nxv1i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1025,12 +1027,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv1i16_nxv1i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv1i16_nxv1i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i16_nxv1i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, mu @@ -1040,9 +1042,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1050,10 +1052,10 @@ entry: declare @llvm.riscv.vnsrl.nxv2i16.nxv2i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv2i16_nxv2i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv2i16_nxv2i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i16_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma @@ -1063,8 +1065,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i16.nxv2i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1072,12 +1074,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv2i16_nxv2i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv2i16_nxv2i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i16_nxv2i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, mu @@ -1087,9 +1089,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1097,10 +1099,10 @@ entry: declare @llvm.riscv.vnsrl.nxv4i16.nxv4i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv4i16_nxv4i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv4i16_nxv4i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i16_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma @@ -1111,8 +1113,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i16.nxv4i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1120,12 +1122,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv4i16_nxv4i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv4i16_nxv4i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i16_nxv4i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, mu @@ -1135,9 +1137,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1145,10 +1147,10 @@ entry: declare @llvm.riscv.vnsrl.nxv8i16.nxv8i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv8i16_nxv8i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv8i16_nxv8i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i16_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma @@ -1159,8 +1161,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i16.nxv8i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1168,12 +1170,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv8i16_nxv8i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv8i16_nxv8i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i16_nxv8i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, mu @@ -1183,9 +1185,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1193,10 +1195,10 @@ entry: declare @llvm.riscv.vnsrl.nxv16i16.nxv16i32( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv16i16_nxv16i32( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv16i16_nxv16i32( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv16i16_nxv16i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma @@ -1207,8 +1209,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv16i16.nxv16i32( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1216,12 +1218,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv16i16_nxv16i32( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv16i16_nxv16i32( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv16i16_nxv16i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, mu @@ -1231,9 +1233,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1241,10 +1243,10 @@ entry: declare @llvm.riscv.vnsrl.nxv1i32.nxv1i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv1i32_nxv1i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv1i32_nxv1i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv1i32_nxv1i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma @@ -1254,8 +1256,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i32.nxv1i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1263,12 +1265,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv1i32_nxv1i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv1i32_nxv1i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv1i32_nxv1i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, mu @@ -1278,9 +1280,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1288,10 +1290,10 @@ entry: declare @llvm.riscv.vnsrl.nxv2i32.nxv2i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv2i32_nxv2i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv2i32_nxv2i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv2i32_nxv2i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma @@ -1302,8 +1304,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i32.nxv2i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1311,12 +1313,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv2i32_nxv2i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv2i32_nxv2i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv2i32_nxv2i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, mu @@ -1326,9 +1328,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1336,10 +1338,10 @@ entry: declare @llvm.riscv.vnsrl.nxv4i32.nxv4i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv4i32_nxv4i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv4i32_nxv4i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv4i32_nxv4i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma @@ -1350,8 +1352,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i32.nxv4i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1359,12 +1361,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv4i32_nxv4i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv4i32_nxv4i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv4i32_nxv4i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, mu @@ -1374,9 +1376,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } @@ -1384,10 +1386,10 @@ entry: declare @llvm.riscv.vnsrl.nxv8i32.nxv8i64( , , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_vx_nxv8i32_nxv8i64( %0, i64 %1, i64 %2) nounwind { +define @intrinsic_vnsrl_vx_nxv8i32_nxv8i64( %0, iXLen %1, iXLen %2) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vx_nxv8i32_nxv8i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma @@ -1398,8 +1400,8 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i32.nxv8i64( undef, %0, - i64 %1, - i64 %2) + iXLen %1, + iXLen %2) ret %a } @@ -1407,12 +1409,12 @@ entry: declare @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( , , - i64, + iXLen, , - i64, - i64); + iXLen, + iXLen); -define @intrinsic_vnsrl_mask_vx_nxv8i32_nxv8i64( %0, %1, i64 %2, %3, i64 %4) nounwind { +define @intrinsic_vnsrl_mask_vx_nxv8i32_nxv8i64( %0, %1, iXLen %2, %3, iXLen %4) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vx_nxv8i32_nxv8i64: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, mu @@ -1422,14 +1424,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( %0, %1, - i64 %2, + iXLen %2, %3, - i64 %4, i64 1) + iXLen %4, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv1i8_nxv1i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv1i8_nxv1i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i8_nxv1i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma @@ -1439,13 +1441,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i8.nxv1i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv1i8_nxv1i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i8_nxv1i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu @@ -1455,14 +1457,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i8.nxv1i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv2i8_nxv2i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv2i8_nxv2i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i8_nxv2i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, ma @@ -1472,13 +1474,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i8.nxv2i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv2i8_nxv2i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i8_nxv2i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf4, ta, mu @@ -1488,14 +1490,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i8.nxv2i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv4i8_nxv4i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv4i8_nxv4i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i8_nxv4i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, ma @@ -1505,13 +1507,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i8.nxv4i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv4i8_nxv4i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i8_nxv4i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, mf2, ta, mu @@ -1521,14 +1523,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i8.nxv4i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv8i8_nxv8i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv8i8_nxv8i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i8_nxv8i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma @@ -1539,13 +1541,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i8.nxv8i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv8i8_nxv8i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i8_nxv8i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, mu @@ -1555,14 +1557,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i8.nxv8i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv16i8_nxv16i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv16i8_nxv16i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv16i8_nxv16i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, ma @@ -1573,13 +1575,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv16i8.nxv16i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv16i8_nxv16i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv16i8_nxv16i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m2, ta, mu @@ -1589,14 +1591,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv16i8.nxv16i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv32i8_nxv32i16_i8( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv32i8_nxv32i16_i8( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv32i8_nxv32i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, ma @@ -1607,13 +1609,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv32i8.nxv32i16( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv32i8_nxv32i16_i8( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv32i8_nxv32i16_i8: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e8, m4, ta, mu @@ -1623,14 +1625,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv32i8.nxv32i16( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv1i16_nxv1i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv1i16_nxv1i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i16_nxv1i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma @@ -1640,13 +1642,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i16.nxv1i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv1i16_nxv1i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i16_nxv1i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu @@ -1656,14 +1658,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i16.nxv1i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv2i16_nxv2i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv2i16_nxv2i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i16_nxv2i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, ma @@ -1673,13 +1675,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i16.nxv2i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv2i16_nxv2i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i16_nxv2i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, mf2, ta, mu @@ -1689,14 +1691,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i16.nxv2i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv4i16_nxv4i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv4i16_nxv4i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i16_nxv4i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, ma @@ -1707,13 +1709,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i16.nxv4i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv4i16_nxv4i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i16_nxv4i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m1, ta, mu @@ -1723,14 +1725,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i16.nxv4i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv8i16_nxv8i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv8i16_nxv8i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i16_nxv8i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, ma @@ -1741,13 +1743,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i16.nxv8i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv8i16_nxv8i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i16_nxv8i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m2, ta, mu @@ -1757,14 +1759,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i16.nxv8i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv16i16_nxv16i32_i16( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv16i16_nxv16i32_i16( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv16i16_nxv16i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, ma @@ -1775,13 +1777,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv16i16.nxv16i32( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv16i16_nxv16i32_i16( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv16i16_nxv16i32_i16: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e16, m4, ta, mu @@ -1791,14 +1793,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv16i16.nxv16i32( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv1i32_nxv1i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv1i32_nxv1i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv1i32_nxv1i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma @@ -1808,13 +1810,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv1i32.nxv1i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv1i32_nxv1i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv1i32_nxv1i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu @@ -1824,14 +1826,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv1i32.nxv1i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv2i32_nxv2i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv2i32_nxv2i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv2i32_nxv2i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma @@ -1842,13 +1844,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv2i32.nxv2i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv2i32_nxv2i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv2i32_nxv2i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, mu @@ -1858,14 +1860,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv2i32.nxv2i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv4i32_nxv4i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv4i32_nxv4i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv4i32_nxv4i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, ma @@ -1876,13 +1878,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv4i32.nxv4i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv4i32_nxv4i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv4i32_nxv4i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m2, ta, mu @@ -1892,14 +1894,14 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv4i32.nxv4i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -define @intrinsic_vnsrl_vi_nxv8i32_nxv8i64_i32( %0, i64 %1) nounwind { +define @intrinsic_vnsrl_vi_nxv8i32_nxv8i64_i32( %0, iXLen %1) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_vi_nxv8i32_nxv8i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, ma @@ -1910,13 +1912,13 @@ entry: %a = call @llvm.riscv.vnsrl.nxv8i32.nxv8i64( undef, %0, - i64 9, - i64 %1) + iXLen 9, + iXLen %1) ret %a } -define @intrinsic_vnsrl_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, i64 %3) nounwind { +define @intrinsic_vnsrl_mask_vi_nxv8i32_nxv8i64_i32( %0, %1, %2, iXLen %3) nounwind { ; CHECK-LABEL: intrinsic_vnsrl_mask_vi_nxv8i32_nxv8i64_i32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu @@ -1926,9 +1928,9 @@ entry: %a = call @llvm.riscv.vnsrl.mask.nxv8i32.nxv8i64( %0, %1, - i64 9, + iXLen 9, %2, - i64 %3, i64 1) + iXLen %3, iXLen 1) ret %a } -- 2.7.4