4
4
# RUN: llvm-mc -triple mips-unknown-linux -target-abi o32 %s | \
5
5
# RUN: FileCheck -check-prefixes=ASM,ASM-O32 %s
6
6
7
- # FIXME: Now we check .cpsetup expansion for `-mno-shared` case only.
8
- # We also need to implement/check the `-mshared` case.
9
7
# RUN: llvm-mc -triple mips64-unknown-linux -target-abi n32 -filetype=obj -o - %s | \
10
8
# RUN: llvm-objdump --no-print-imm-hex -d -r -z - | \
11
9
# RUN: FileCheck -check-prefixes=ALL,NXX,N32 %s
35
33
36
34
# NXX-NEXT: sd $gp, 8($sp)
37
35
# NXX-NEXT: lui $gp, 0
38
- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
39
36
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 __cerror
37
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
38
+ # N32-NEXT: R_MIPS_SUB
39
+ # N32-NEXT: R_MIPS_HI16
40
40
# NXX-NEXT: addiu $gp, $gp, 0
41
- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
42
41
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 __cerror
42
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
43
+ # N32-NEXT: R_MIPS_SUB
44
+ # N32-NEXT: R_MIPS_LO16
45
+ # N32-NEXT: addu $gp, $gp, $25
43
46
# N64-NEXT: daddu $gp, $gp, $25
44
47
45
48
# ASM-NEXT: .cpsetup $25, 8, __cerror
64
67
65
68
# NXX-NEXT: move $2, $gp
66
69
# NXX-NEXT: lui $gp, 0
67
- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
68
70
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 __cerror
71
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
72
+ # N32-NEXT: R_MIPS_SUB
73
+ # N32-NEXT: R_MIPS_HI16
69
74
# NXX-NEXT: addiu $gp, $gp, 0
70
- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
71
75
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 __cerror
76
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
77
+ # N32-NEXT: R_MIPS_SUB
78
+ # N32-NEXT: R_MIPS_LO16
79
+ # N32-NEXT: addu $gp, $gp, $25
72
80
# N64-NEXT: daddu $gp, $gp, $25
73
81
74
82
# ASM-NEXT: .cpsetup $25, $2, __cerror
@@ -101,11 +109,16 @@ t3:
101
109
102
110
# NXX-NEXT: move $2, $gp
103
111
# NXX-NEXT: lui $gp, 0
104
- # N32-NEXT: {{^ *0+}}38: R_MIPS_HI16 __gnu_local_gp
105
112
# N64-NEXT: {{^ *0+}}40: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 .text
113
+ # N32-NEXT: {{^ *0+}}40: R_MIPS_GPREL16 .text
114
+ # N32-NEXT: R_MIPS_SUB
115
+ # N32-NEXT: R_MIPS_HI16
106
116
# NXX-NEXT: addiu $gp, $gp, 0
107
- # N32-NEXT: {{^ *0+}}3c: R_MIPS_LO16 __gnu_local_gp
108
117
# N64-NEXT: {{^ *0+}}44: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 .text
118
+ # N32-NEXT: {{^ *0+}}44: R_MIPS_GPREL16 .text
119
+ # N32-NEXT: R_MIPS_SUB
120
+ # N32-NEXT: R_MIPS_LO16
121
+ # N32-NEXT: addu $gp, $gp, $25
109
122
# N64-NEXT: daddu $gp, $gp, $25
110
123
# NXX-NEXT: nop
111
124
# NXX-NEXT: sub $3, $3, $2
@@ -158,11 +171,16 @@ t5:
158
171
159
172
# NXX-NEXT: sd $gp, 8($sp)
160
173
# NXX-NEXT: lui $gp, 0
161
- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
162
174
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 __cerror
175
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
176
+ # N32-NEXT: R_MIPS_SUB
177
+ # N32-NEXT: R_MIPS_HI16
163
178
# NXX-NEXT: addiu $gp, $gp, 0
164
- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
165
179
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 __cerror
180
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
181
+ # N32-NEXT: R_MIPS_SUB
182
+ # N32-NEXT: R_MIPS_LO16
183
+ # N32-NEXT: addu $gp, $gp, $25
166
184
# N64-NEXT: daddu $gp, $gp, $25
167
185
168
186
# ASM-NEXT: .cpsetup $25, 8, __cerror
@@ -184,11 +202,16 @@ IMM_8 = 8
184
202
185
203
# NXX-NEXT: sd $gp, 8($sp)
186
204
# NXX-NEXT: lui $gp, 0
187
- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
188
205
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 __cerror
206
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
207
+ # N32-NEXT: R_MIPS_SUB
208
+ # N32-NEXT: R_MIPS_HI16
189
209
# NXX-NEXT: addiu $gp, $gp, 0
190
- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
191
210
# N64-NEXT: R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 __cerror
211
+ # N32-NEXT: R_MIPS_GPREL16 __cerror
212
+ # N32-NEXT: R_MIPS_SUB
213
+ # N32-NEXT: R_MIPS_LO16
214
+ # N32-NEXT: addu $gp, $gp, $25
192
215
# N64-NEXT: daddu $gp, $gp, $25
193
216
194
217
# ASM-NEXT: .cpsetup $25, 8, __cerror
0 commit comments