1; Test the MSA intrinsics that are encoded with the SPECIAL instruction format.
2
3; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4
5define i32 @llvm_mips_lsa_test(i32 %a, i32 %b) nounwind {
6entry:
7  %0 = tail call i32 @llvm.mips.lsa(i32 %a, i32 %b, i32 2)
8  ret i32 %0
9}
10
11declare i32 @llvm.mips.lsa(i32, i32, i32) nounwind
12
13; CHECK: llvm_mips_lsa_test:
14; CHECK: lsa {{\$[0-9]+}}, {{\$[0-9]+}}, {{\$[0-9]+}}, 2
15; CHECK: .size llvm_mips_lsa_test
16
17define i32 @lsa_test(i32 %a, i32 %b) nounwind {
18entry:
19  %0 = shl i32 %b, 2
20  %1 = add i32 %a, %0
21  ret i32 %1
22}
23
24; CHECK: lsa_test:
25; CHECK: lsa {{\$[0-9]+}}, {{\$[0-9]+}}, {{\$[0-9]+}}, 2
26; CHECK: .size lsa_test
27