Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / LoongArch / lasx / intrinsic-insgr2vr-invalid-imm.ll
blob4982f2c7d43a9237568513d262c0e569a949ac21
1 ; RUN: not llc --mtriple=loongarch64 --mattr=+lasx < %s 2>&1 | FileCheck %s
3 declare <8 x i32> @llvm.loongarch.lasx.xvinsgr2vr.w(<8 x i32>, i32, i32)
5 define <8 x i32> @lasx_xvinsgr2vr_w_lo(<8 x i32> %va) nounwind {
6 ; CHECK: llvm.loongarch.lasx.xvinsgr2vr.w: argument out of range
7 entry:
8   %res = call <8 x i32> @llvm.loongarch.lasx.xvinsgr2vr.w(<8 x i32> %va, i32 1, i32 -1)
9   ret <8 x i32> %res
12 define <8 x i32> @lasx_xvinsgr2vr_w_hi(<8 x i32> %va) nounwind {
13 ; CHECK: llvm.loongarch.lasx.xvinsgr2vr.w: argument out of range
14 entry:
15   %res = call <8 x i32> @llvm.loongarch.lasx.xvinsgr2vr.w(<8 x i32> %va, i32 1, i32 8)
16   ret <8 x i32> %res
19 declare <4 x i64> @llvm.loongarch.lasx.xvinsgr2vr.d(<4 x i64>, i64, i32)
21 define <4 x i64> @lasx_xvinsgr2vr_d_lo(<4 x i64> %va) nounwind {
22 ; CHECK: llvm.loongarch.lasx.xvinsgr2vr.d: argument out of range
23 entry:
24   %res = call <4 x i64> @llvm.loongarch.lasx.xvinsgr2vr.d(<4 x i64> %va, i64 1, i32 -1)
25   ret <4 x i64> %res
28 define <4 x i64> @lasx_xvinsgr2vr_d_hi(<4 x i64> %va) nounwind {
29 ; CHECK: llvm.loongarch.lasx.xvinsgr2vr.d: argument out of range
30 entry:
31   %res = call <4 x i64> @llvm.loongarch.lasx.xvinsgr2vr.d(<4 x i64> %va, i64 1, i32 4)
32   ret <4 x i64> %res