39 lines · plain
1; RUN: not llc --mtriple=loongarch32 --mattr=+32s,+lasx < %s 2>&1 | FileCheck %s2; RUN: not llc --mtriple=loongarch64 --mattr=+lasx < %s 2>&1 | FileCheck %s3 4declare i32 @llvm.loongarch.lasx.xvpickve2gr.w(<8 x i32>, i32)5 6define i32 @lasx_xvpickve2gr_w(<8 x i32> %va, i32 %b) nounwind {7; CHECK: immarg operand has non-immediate parameter8entry:9 %res = call i32 @llvm.loongarch.lasx.xvpickve2gr.w(<8 x i32> %va, i32 %b)10 ret i32 %res11}12 13declare i64 @llvm.loongarch.lasx.xvpickve2gr.d(<4 x i64>, i32)14 15define i64 @lasx_xvpickve2gr_d(<4 x i64> %va, i32 %b) nounwind {16; CHECK: immarg operand has non-immediate parameter17entry:18 %res = call i64 @llvm.loongarch.lasx.xvpickve2gr.d(<4 x i64> %va, i32 %b)19 ret i64 %res20}21 22declare i32 @llvm.loongarch.lasx.xvpickve2gr.wu(<8 x i32>, i32)23 24define i32 @lasx_xvpickve2gr_wu(<8 x i32> %va, i32 %b) nounwind {25; CHECK: immarg operand has non-immediate parameter26entry:27 %res = call i32 @llvm.loongarch.lasx.xvpickve2gr.wu(<8 x i32> %va, i32 %b)28 ret i32 %res29}30 31declare i64 @llvm.loongarch.lasx.xvpickve2gr.du(<4 x i64>, i32)32 33define i64 @lasx_xvpickve2gr_du(<4 x i64> %va, i32 %b) nounwind {34; CHECK: immarg operand has non-immediate parameter35entry:36 %res = call i64 @llvm.loongarch.lasx.xvpickve2gr.du(<4 x i64> %va, i32 %b)37 ret i64 %res38}39