xref: /llvm-project/llvm/test/CodeGen/XCore/globals.ll (revision f1987c74ee5637ec248675a9a7070654167a5260)
1; RUN: llc < %s -mtriple=xcore -mcpu=xs1b-generic | FileCheck %s
2; RUN: llc -mtriple=xcore -mcpu=xs1b-generic -filetype=null %s
3
4define ptr @addr_G1() {
5entry:
6; CHECK-LABEL: addr_G1:
7; CHECK: ldaw r0, dp[G1]
8	ret ptr @G1
9}
10
11define ptr @addr_G2() {
12entry:
13; CHECK-LABEL: addr_G2:
14; CHECK: ldaw r0, dp[G2]
15	ret ptr @G2
16}
17
18define ptr @addr_G3() {
19entry:
20; CHECK-LABEL: addr_G3:
21; CHECK: ldaw r0, dp[G3]
22	ret ptr @G3
23}
24
25define ptr @addr_iG3() {
26entry:
27; CHECK-LABEL: addr_iG3:
28; CHECK: ldaw r11, cp[iG3]
29; CHECK: mov r0, r11
30  ret ptr @iG3
31}
32
33define ptr @addr_G4() {
34entry:
35; CHECK-LABEL: addr_G4:
36; CHECK: ldaw r0, dp[G4]
37	ret ptr @G4
38}
39
40define ptr @addr_G5() {
41entry:
42; CHECK-LABEL: addr_G5:
43; CHECK: ldaw r0, dp[G5]
44	ret ptr @G5
45}
46
47define ptr @addr_iG5() {
48entry:
49; CHECK-LABEL: addr_iG5:
50; CHECK: ldaw r11, cp[iG5]
51; CHECK: mov r0, r11
52  ret ptr @iG5
53}
54
55define ptr @addr_G6() {
56entry:
57; CHECK-LABEL: addr_G6:
58; CHECK: ldaw r0, dp[G6]
59	ret ptr @G6
60}
61
62define ptr @addr_G7() {
63entry:
64; CHECK-LABEL: addr_G7:
65; CHECK: ldaw r0, dp[G7]
66	ret ptr @G7
67}
68
69define ptr @addr_iG7() {
70entry:
71; CHECK-LABEL: addr_iG7:
72; CHECK: ldaw r11, cp[iG7]
73; CHECK: mov r0, r11
74  ret ptr @iG7
75}
76
77define ptr @addr_G8() {
78entry:
79; CHECK-LABEL: addr_G8:
80; CHECK: ldaw r0, dp[G8]
81	ret ptr @G8
82}
83
84@G1 = global i32 4712
85; CHECK: .section .dp.data,"awd",@progbits
86; CHECK: G1:
87
88@G2 = global i32 0
89; CHECK: .section .dp.bss,"awd",@nobits
90; CHECK: G2:
91
92@G3 = unnamed_addr constant i32 9401
93; CHECK: .section .dp.rodata,"awd",@progbits
94; CHECK: G3:
95
96@iG3 = internal constant i32 9401
97; CHECK: .section .cp.rodata,"ac",@progbits
98; CHECK: iG3:
99
100@G4 = global ptr @G1
101; CHECK: .section .dp.data,"awd",@progbits
102; CHECK: G4:
103
104@G5 = unnamed_addr constant ptr @G1
105; CHECK: .section .dp.rodata,"awd",@progbits
106; CHECK: G5:
107
108@iG5 = internal unnamed_addr constant ptr @G1
109; CHECK: .section .cp.rodata,"ac",@progbits
110; CHECK: iG5:
111
112@G6 = global ptr @G8
113; CHECK: .section .dp.data,"awd",@progbits
114; CHECK: G6:
115
116@G7 = unnamed_addr constant ptr @G8
117; CHECK: .section .dp.rodata,"awd",@progbits
118; CHECK: G7:
119
120@iG7 = internal unnamed_addr constant ptr @G8
121; CHECK: .section .cp.rodata,"ac",@progbits
122; CHECK: iG7:
123
124@G8 = global i32 9312
125; CHECK: .section .dp.data,"awd",@progbits
126; CHECK: G8:
127
128@array = global [10 x i16] zeroinitializer, align 2
129; CHECK: .globl  array.globound
130; CHECK: .set array.globound, 10
131