1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -show-encoding | FileCheck %s
2 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 2>&1 | \
3 # RUN: FileCheck %s --check-prefix=WARNING
7 blt $7, $8, local_label
8 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
9 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
10 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
12 blt $7, $8, global_label
13 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
14 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
15 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
17 blt $7, $0, local_label
18 # CHECK: bltz $7, local_label # encoding: [0x04,0xe0,A,A]
19 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
21 blt $0, $8, local_label
22 # CHECK: bgtz $8, local_label # encoding: [0x1d,0x00,A,A]
23 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
25 blt $0, $0, local_label
26 # CHECK: bltz $zero, local_label # encoding: [0x04,0x00,A,A]
27 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
30 bltu $7, $8, local_label
31 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
32 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
33 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
35 bltu $7, $8, global_label
36 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
37 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
38 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
40 bltu $7, $0, local_label
42 bltu $0, $8, local_label
43 # CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]
44 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
46 bltu $0, $0, local_label
49 ble $7, $8, local_label
50 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
51 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
52 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
54 ble $7, $8, global_label
55 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
56 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
57 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
59 ble $7, $0, local_label
60 # CHECK: blez $7, local_label # encoding: [0x18,0xe0,A,A]
61 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
63 ble $0, $8, local_label
64 # CHECK: bgez $8, local_label # encoding: [0x05,0x01,A,A]
65 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
67 ble $0, $0, local_label
68 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
69 # CHECK: blez $zero, local_label # encoding: [0x18,0x00,A,A]
70 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
73 bleu $7, $8, local_label
74 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
75 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
76 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
78 bleu $7, $8, global_label
79 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
80 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
81 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
83 bleu $7, $0, local_label
84 # CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]
85 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
87 bleu $0, $8, local_label
88 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
89 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
90 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
92 bleu $0, $0, local_label
93 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
94 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
95 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
98 bge $7, $8, local_label
99 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
100 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
101 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
103 bge $7, $8, global_label
104 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
105 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
106 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
108 bge $7, $0, local_label
109 # CHECK: bgez $7, local_label # encoding: [0x04,0xe1,A,A]
110 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
112 bge $0, $8, local_label
113 # CHECK: blez $8, local_label # encoding: [0x19,0x00,A,A]
114 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
116 bge $0, $0, local_label
117 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
118 # CHECK: bgez $zero, local_label # encoding: [0x04,0x01,A,A]
119 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
122 bgeu $7, $8, local_label
123 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
124 # CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]
125 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
127 bgeu $7, $8, global_label
128 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
129 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
130 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
132 bgeu $7, $0, local_label
133 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
134 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
135 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
137 bgeu $0, $8, local_label
138 # CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]
139 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
141 bgeu $0, $0, local_label
142 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
143 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
144 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
147 bgt $7, $8, local_label
148 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
149 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
150 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
152 bgt $7, $8, global_label
153 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
154 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
155 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
157 bgt $7, $0, local_label
158 # CHECK: bgtz $7, local_label # encoding: [0x1c,0xe0,A,A]
159 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
161 bgt $0, $8, local_label
162 # CHECK: bltz $8, local_label # encoding: [0x05,0x00,A,A]
163 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
165 bgt $0, $0, local_label
166 # CHECK: bgtz $zero, local_label # encoding: [0x1c,0x00,A,A]
167 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
170 bgtu $7, $8, local_label
171 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
172 # CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]
173 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
175 bgtu $7, $8, global_label
176 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
177 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
178 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
180 bgtu $7, $0, local_label
181 # CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]
182 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
184 bgtu $0, $8, local_label
186 bgtu $0, $0, local_label
187 # CHECK: bnez $zero, local_label # encoding: [0x14,0x00,A,A]
188 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
191 bltl $7,$8,local_label
192 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
193 # CHECK: bnel $1, $zero, local_label # encoding: [0x54,0x20,A,A]
194 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
195 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
196 bltl $7,$8,global_label
197 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
198 # CHECK: bnel $1, $zero, global_label # encoding: [0x54,0x20,A,A]
199 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
200 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
201 bltl $7,$0,local_label
202 # CHECK: bltz $7, local_label # encoding: [0x04,0xe0,A,A]
203 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
204 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
205 bltl $0,$8,local_label
206 # CHECK: bgtz $8, local_label # encoding: [0x1d,0x00,A,A]
207 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
208 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
209 bltl $0,$0,local_label
210 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
212 blel $7,$8,local_label
213 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
214 # CHECK: beql $1, $zero, local_label # encoding: [0x50,0x20,A,A]
215 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
216 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
217 blel $7,$8,global_label
218 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
219 # CHECK: beql $1, $zero, global_label # encoding: [0x50,0x20,A,A]
220 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
221 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
222 blel $7,$0,local_label
223 # CHECK: blez $7, local_label # encoding: [0x18,0xe0,A,A]
224 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
225 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
226 blel $0,$8,local_label
227 # CHECK: bgez $8, local_label # encoding: [0x05,0x01,A,A]
228 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
229 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
230 blel $0,$0,local_label
231 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
232 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
233 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
234 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
236 bgel $7,$8,local_label
237 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
238 # CHECK: beql $1, $zero, local_label # encoding: [0x50,0x20,A,A]
239 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
240 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
241 bgel $7,$8,global_label
242 # CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]
243 # CHECK: beql $1, $zero, global_label # encoding: [0x50,0x20,A,A]
244 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
245 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
246 bgel $7,$0,local_label
247 # CHECK: bgez $7, local_label # encoding: [0x04,0xe1,A,A]
248 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
249 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
250 bgel $0,$8,local_label
251 # CHECK: blez $8, local_label # encoding: [0x19,0x00,A,A]
252 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
253 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
254 bgel $0,$0,local_label
255 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
256 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
257 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
258 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
260 bgtl $7,$8,local_label
261 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
262 # CHECK: bnel $1, $zero, local_label # encoding: [0x54,0x20,A,A]
263 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
264 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
265 bgtl $7,$8,global_label
266 # CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]
267 # CHECK: bnel $1, $zero, global_label # encoding: [0x54,0x20,A,A]
268 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
269 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
270 bgtl $7,$0,local_label
271 # CHECK: bgtz $7, local_label # encoding: [0x1c,0xe0,A,A]
272 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
273 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
274 bgtl $0,$8,local_label
275 # CHECK: bltz $8, local_label # encoding: [0x05,0x00,A,A]
276 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
277 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
278 bgtl $0,$0,local_label
279 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
281 bltul $7,$8,local_label
282 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
283 # CHECK: bnel $1, $zero, local_label # encoding: [0x54,0x20,A,A]
284 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
285 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
286 bltul $7,$8,global_label
287 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
288 # CHECK: bnel $1, $zero, global_label # encoding: [0x54,0x20,A,A]
289 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
290 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
291 bltul $7,$0,local_label
292 # CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]
293 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
294 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
295 bltul $0,$8,local_label
296 # CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]
297 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
298 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
299 bltul $0,$0,local_label
300 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
302 bleul $7,$8,local_label
303 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
304 # CHECK: beql $1, $zero, local_label # encoding: [0x50,0x20,A,A]
305 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
306 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
307 bleul $7,$8,global_label
308 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
309 # CHECK: beql $1, $zero, global_label # encoding: [0x50,0x20,A,A]
310 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
311 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
312 bleul $7,$0,local_label
313 # CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]
314 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
315 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
316 bleul $0,$8,local_label
317 # CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]
318 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
319 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
320 bleul $0,$0,local_label
321 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
322 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
323 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
324 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
326 bgeul $7,$8,local_label
327 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
328 # CHECK: beql $1, $zero, local_label # encoding: [0x50,0x20,A,A]
329 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
330 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
331 bgeul $7,$8,global_label
332 # CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]
333 # CHECK: beql $1, $zero, global_label # encoding: [0x50,0x20,A,A]
334 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
335 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
336 bgeul $7,$0,local_label
337 # CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]
338 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
339 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
340 bgeul $0,$8,local_label
341 # CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]
342 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
343 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
344 bgeul $0,$0,local_label
345 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
346 # CHECK: b local_label # encoding: [0x10,0x00,A,A]
347 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
348 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
350 bgtul $7,$8,local_label
351 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
352 # CHECK: bnel $1, $zero, local_label # encoding: [0x54,0x20,A,A]
353 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
354 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
355 bgtul $7,$8,global_label
356 # CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]
357 # CHECK: bnel $1, $zero, global_label # encoding: [0x54,0x20,A,A]
358 # CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
359 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
360 bgtul $7,$0,local_label
361 # CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]
362 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
363 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
364 bgtul $0,$8,local_label
365 # CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]
366 # CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
367 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
368 bgtul $0,$0,local_label
369 # CHECK: nop # encoding: [0x00,0x00,0x00,0x00]