blob: ae21283b1fb7e3908f72c38eed6a5bda6aabdf7e [file] [log] [blame]
Sasa Stankovic4c80bda2014-02-07 17:16:40 +00001; RUN: llc -march=mipsel -O3 < %s | FileCheck %s
2; RUN: llc -mtriple=mipsel-none-nacl-gnu -O3 < %s \
3; RUN: | FileCheck %s -check-prefix=CHECK-NACL
4
5@var = external global i32
6
7define void @f() {
8 %val1 = load volatile i32* @var
9 %val2 = load volatile i32* @var
10 %val3 = load volatile i32* @var
11 %val4 = load volatile i32* @var
12 %val5 = load volatile i32* @var
13 %val6 = load volatile i32* @var
14 %val7 = load volatile i32* @var
15 %val8 = load volatile i32* @var
16 %val9 = load volatile i32* @var
17 %val10 = load volatile i32* @var
18 %val11 = load volatile i32* @var
19 %val12 = load volatile i32* @var
20 %val13 = load volatile i32* @var
21 %val14 = load volatile i32* @var
22 %val15 = load volatile i32* @var
23 %val16 = load volatile i32* @var
24 store volatile i32 %val1, i32* @var
25 store volatile i32 %val2, i32* @var
26 store volatile i32 %val3, i32* @var
27 store volatile i32 %val4, i32* @var
28 store volatile i32 %val5, i32* @var
29 store volatile i32 %val6, i32* @var
30 store volatile i32 %val7, i32* @var
31 store volatile i32 %val8, i32* @var
32 store volatile i32 %val9, i32* @var
33 store volatile i32 %val10, i32* @var
34 store volatile i32 %val11, i32* @var
35 store volatile i32 %val12, i32* @var
36 store volatile i32 %val13, i32* @var
37 store volatile i32 %val14, i32* @var
38 store volatile i32 %val15, i32* @var
39 store volatile i32 %val16, i32* @var
40 ret void
41
42; Check that t6, t7 and t8 are used in non-NaCl code.
43; CHECK: lw $14
44; CHECK: lw $15
45; CHECK: lw $24
46
47; t6, t7 and t8 are reserved in NaCl.
48; CHECK-NACL-NOT: lw $14
49; CHECK-NACL-NOT: lw $15
50; CHECK-NACL-NOT: lw $24
51}