44# RUN: llvm-mc -triple mips-unknown-linux -target-abi o32 %s | \
55# RUN: FileCheck -check-prefixes=ASM,ASM-O32 %s
66
7- # FIXME: Now we check .cpsetup expansion for `-mno-shared` case only.
8- # We also need to implement/check the `-mshared` case.
97# RUN: llvm-mc -triple mips64-unknown-linux -target-abi n32 -filetype=obj -o - %s | \
108# RUN: llvm-objdump --no-print-imm-hex -d -r -z - | \
119# RUN: FileCheck -check-prefixes=ALL,NXX,N32 %s
3533
3634# NXX-NEXT: sd $gp, 8($sp)
3735# NXX-NEXT: lui $gp, 0
38- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
3936# 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
4040# NXX-NEXT: addiu $gp, $gp, 0
41- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
4241# 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
4346# N64-NEXT: daddu $gp, $gp, $25
4447
4548# ASM-NEXT: .cpsetup $25, 8, __cerror
6467
6568# NXX-NEXT: move $2, $gp
6669# NXX-NEXT: lui $gp, 0
67- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
6870# 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
6974# NXX-NEXT: addiu $gp, $gp, 0
70- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
7175# 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
7280# N64-NEXT: daddu $gp, $gp, $25
7381
7482# ASM-NEXT: .cpsetup $25, $2, __cerror
@@ -101,11 +109,16 @@ t3:
101109
102110# NXX-NEXT: move $2, $gp
103111# NXX-NEXT: lui $gp, 0
104- # N32-NEXT: {{^ *0+}}38: R_MIPS_HI16 __gnu_local_gp
105112# 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
106116# NXX-NEXT: addiu $gp, $gp, 0
107- # N32-NEXT: {{^ *0+}}3c: R_MIPS_LO16 __gnu_local_gp
108117# 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
109122# N64-NEXT: daddu $gp, $gp, $25
110123# NXX-NEXT: nop
111124# NXX-NEXT: sub $3, $3, $2
@@ -158,11 +171,16 @@ t5:
158171
159172# NXX-NEXT: sd $gp, 8($sp)
160173# NXX-NEXT: lui $gp, 0
161- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
162174# 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
163178# NXX-NEXT: addiu $gp, $gp, 0
164- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
165179# 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
166184# N64-NEXT: daddu $gp, $gp, $25
167185
168186# ASM-NEXT: .cpsetup $25, 8, __cerror
@@ -184,11 +202,16 @@ IMM_8 = 8
184202
185203# NXX-NEXT: sd $gp, 8($sp)
186204# NXX-NEXT: lui $gp, 0
187- # N32-NEXT: R_MIPS_HI16 __gnu_local_gp
188205# 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
189209# NXX-NEXT: addiu $gp, $gp, 0
190- # N32-NEXT: R_MIPS_LO16 __gnu_local_gp
191210# 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
192215# N64-NEXT: daddu $gp, $gp, $25
193216
194217# ASM-NEXT: .cpsetup $25, 8, __cerror
0 commit comments