• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
2
3@data = global [8193 x i32] zeroinitializer
4
5define void @R(i32 *%p) nounwind {
6entry:
7  ; CHECK-LABEL: R:
8
9  call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 0))
10
11  ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)(
12  ; CHECK: #APP
13  ; CHECK: lw $1, 0($[[BASEPTR]])
14  ; CHECK: #NO_APP
15
16  ret void
17}
18
19define void @R_offset_4(i32 *%p) nounwind {
20entry:
21  ; CHECK-LABEL: R_offset_4:
22
23  call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 1))
24
25  ; CHECK: lw $[[BASEPTR:[0-9]+]], %got(data)(
26  ; CHECK: #APP
27  ; CHECK: lw $1, 4($[[BASEPTR]])
28  ; CHECK: #NO_APP
29
30  ret void
31}
32
33define void @R_offset_254(i32 *%p) nounwind {
34entry:
35  ; CHECK-LABEL: R_offset_254:
36
37  call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 63))
38
39  ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)(
40  ; CHECK: #APP
41  ; CHECK: lw $1, 252($[[BASEPTR]])
42  ; CHECK: #NO_APP
43
44  ret void
45}
46
47define void @R_offset_256(i32 *%p) nounwind {
48entry:
49  ; CHECK-LABEL: R_offset_256:
50
51  call void asm sideeffect "lw $$1, $0", "*R,~{$1}"(i32* getelementptr inbounds ([8193 x i32], [8193 x i32]* @data, i32 0, i32 64))
52
53  ; CHECK-DAG: lw $[[BASEPTR:[0-9]+]], %got(data)(
54  ; CHECK: addiu $[[BASEPTR2:[0-9]+]], $[[BASEPTR]], 256
55  ; CHECK: #APP
56  ; CHECK: lw $1, 0($[[BASEPTR2]])
57  ; CHECK: #NO_APP
58
59  ret void
60}
61