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