blob: 31e56c82a7ccc68b82b003e661191dee2f35ffc7 [file] [log] [blame]
Akira Hatanaka25a7d942011-09-30 03:18:46 +00001; RUN: llc -march=mips64el -mcpu=mips64r1 < %s | FileCheck %s
2
3define i64 @f0(i64 %a0, i64 %a1) nounwind readnone {
4entry:
5; CHECK: dsllv
6 %shl = shl i64 %a0, %a1
7 ret i64 %shl
8}
9
10define i64 @f1(i64 %a0, i64 %a1) nounwind readnone {
11entry:
12; CHECK: dsrav
13 %shr = ashr i64 %a0, %a1
14 ret i64 %shr
15}
16
17define i64 @f2(i64 %a0, i64 %a1) nounwind readnone {
18entry:
19; CHECK: dsrlv
20 %shr = lshr i64 %a0, %a1
21 ret i64 %shr
22}
23
24define i64 @f3(i64 %a0) nounwind readnone {
25entry:
26; CHECK: dsll
27 %shl = shl i64 %a0, 10
28 ret i64 %shl
29}
30
31define i64 @f4(i64 %a0) nounwind readnone {
32entry:
33; CHECK: dsra
34 %shr = ashr i64 %a0, 10
35 ret i64 %shr
36}
37
38define i64 @f5(i64 %a0) nounwind readnone {
39entry:
40; CHECK: dsrl
41 %shr = lshr i64 %a0, 10
42 ret i64 %shr
43}
44
45define i64 @f6(i64 %a0) nounwind readnone {
46entry:
47; CHECK: dsll32
48 %shl = shl i64 %a0, 40
49 ret i64 %shl
50}
51
52define i64 @f7(i64 %a0) nounwind readnone {
53entry:
54; CHECK: dsra32
55 %shr = ashr i64 %a0, 40
56 ret i64 %shr
57}
58
59define i64 @f8(i64 %a0) nounwind readnone {
60entry:
61; CHECK: dsrl32
62 %shr = lshr i64 %a0, 40
63 ret i64 %shr
64}