1# RUN: not llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -arch=mips 2>&1 | FileCheck %s
2#
3# CHECK: error: branch to misaligned address
4# CHECK:        b -131069
5# CHECK: error: branch to misaligned address
6# CHECK:        b -131070
7# CHECK: error: branch to misaligned address
8# CHECK:        b -131071
9# CHECK: error: branch target out of range
10# CHECK:        b -131073
11# CHECK: error: branch to misaligned address
12# CHECK:        b 131069
13# CHECK: error: branch to misaligned address
14# CHECK:        b 131070
15# CHECK: error: branch to misaligned address
16# CHECK:        b 131071
17# CHECK: error: branch target out of range
18# CHECK:        b 131072
19
20# CHECK: error: branch to misaligned address
21# CHECK:        beq $1, $1, -131069
22# CHECK: error: branch to misaligned address
23# CHECK:        beq $1, $1, -131070
24# CHECK: error: branch to misaligned address
25# CHECK:        beq $1, $1, -131071
26# CHECK: error: branch target out of range
27# CHECK:        beq $1, $1, -131073
28# CHECK: error: branch to misaligned address
29# CHECK:        beq $1, $1, 131069
30# CHECK: error: branch to misaligned address
31# CHECK:        beq $1, $1, 131070
32# CHECK: error: branch to misaligned address
33# CHECK:        beq $1, $1, 131071
34# CHECK: error: branch target out of range
35# CHECK:        beq $1, $1, 131072
36
37# CHECK: error: branch to misaligned address
38# CHECK:        bne $1, $1, -131069
39# CHECK: error: branch to misaligned address
40# CHECK:        bne $1, $1, -131070
41# CHECK: error: branch to misaligned address
42# CHECK:        bne $1, $1, -131071
43# CHECK: error: branch target out of range
44# CHECK:        bne $1, $1, -131073
45# CHECK: error: branch to misaligned address
46# CHECK:        bne $1, $1, 131069
47# CHECK: error: branch to misaligned address
48# CHECK:        bne $1, $1, 131070
49# CHECK: error: branch to misaligned address
50# CHECK:        bne $1, $1, 131071
51# CHECK: error: branch target out of range
52# CHECK:        bne $1, $1, 131072
53
54# CHECK: error: branch to misaligned address
55# CHECK:        bal -131069
56# CHECK: error: branch to misaligned address
57# CHECK:        bal -131070
58# CHECK: error: branch to misaligned address
59# CHECK:        bal -131071
60# CHECK: error: branch target out of range
61# CHECK:        bal -131073
62# CHECK: error: branch to misaligned address
63# CHECK:        bal 131069
64# CHECK: error: branch to misaligned address
65# CHECK:        bal 131070
66# CHECK: error: branch to misaligned address
67# CHECK:        bal 131071
68# CHECK: error: branch target out of range
69# CHECK:        bal 131072
70
71# CHECK: error: branch to misaligned address
72# CHECK:        bgez $1, -131069
73# CHECK: error: branch to misaligned address
74# CHECK:        bgez $1, -131070
75# CHECK: error: branch to misaligned address
76# CHECK:        bgez $1, -131071
77# CHECK: error: branch target out of range
78# CHECK:        bgez $1, -131073
79# CHECK: error: branch to misaligned address
80# CHECK:        bgez $1, 131069
81# CHECK: error: branch to misaligned address
82# CHECK:        bgez $1, 131070
83# CHECK: error: branch to misaligned address
84# CHECK:        bgez $1, 131071
85# CHECK: error: branch target out of range
86# CHECK:        bgez $1, 131072
87
88# CHECK: error: branch to misaligned address
89# CHECK:        bgtz $1, -131069
90# CHECK: error: branch to misaligned address
91# CHECK:        bgtz $1, -131070
92# CHECK: error: branch to misaligned address
93# CHECK:        bgtz $1, -131071
94# CHECK: error: branch target out of range
95# CHECK:        bgtz $1, -131073
96# CHECK: error: branch to misaligned address
97# CHECK:        bgtz $1, 131069
98# CHECK: error: branch to misaligned address
99# CHECK:        bgtz $1, 131070
100# CHECK: error: branch to misaligned address
101# CHECK:        bgtz $1, 131071
102# CHECK: error: branch target out of range
103# CHECK:        bgtz $1, 131072
104
105# CHECK: error: branch to misaligned address
106# CHECK:        blez $1, -131069
107# CHECK: error: branch to misaligned address
108# CHECK:        blez $1, -131070
109# CHECK: error: branch to misaligned address
110# CHECK:        blez $1, -131071
111# CHECK: error: branch target out of range
112# CHECK:        blez $1, -131073
113# CHECK: error: branch to misaligned address
114# CHECK:        blez $1, 131069
115# CHECK: error: branch to misaligned address
116# CHECK:        blez $1, 131070
117# CHECK: error: branch to misaligned address
118# CHECK:        blez $1, 131071
119# CHECK: error: branch target out of range
120# CHECK:        blez $1, 131072
121
122# CHECK: error: branch to misaligned address
123# CHECK:        bltz $1, -131069
124# CHECK: error: branch to misaligned address
125# CHECK:        bltz $1, -131070
126# CHECK: error: branch to misaligned address
127# CHECK:        bltz $1, -131071
128# CHECK: error: branch target out of range
129# CHECK:        bltz $1, -131073
130# CHECK: error: branch to misaligned address
131# CHECK:        bltz $1, 131069
132# CHECK: error: branch to misaligned address
133# CHECK:        bltz $1, 131070
134# CHECK: error: branch to misaligned address
135# CHECK:        bltz $1, 131071
136# CHECK: error: branch target out of range
137# CHECK:        bltz $1, 131072
138
139# CHECK: error: branch to misaligned address
140# CHECK:        bgezal $1, -131069
141# CHECK: error: branch to misaligned address
142# CHECK:        bgezal $1, -131070
143# CHECK: error: branch to misaligned address
144# CHECK:        bgezal $1, -131071
145# CHECK: error: branch target out of range
146# CHECK:        bgezal $1, -131073
147# CHECK: error: branch to misaligned address
148# CHECK:        bgezal $1, 131069
149# CHECK: error: branch to misaligned address
150# CHECK:        bgezal $1, 131070
151# CHECK: error: branch to misaligned address
152# CHECK:        bgezal $1, 131071
153# CHECK: error: branch target out of range
154# CHECK:        bgezal $1, 131072
155
156# CHECK: error: branch to misaligned address
157# CHECK:        bltzal $1, -131069
158# CHECK: error: branch to misaligned address
159# CHECK:        bltzal $1, -131070
160# CHECK: error: branch to misaligned address
161# CHECK:        bltzal $1, -131071
162# CHECK: error: branch target out of range
163# CHECK:        bltzal $1, -131073
164# CHECK: error: branch to misaligned address
165# CHECK:        bltzal $1, 131069
166# CHECK: error: branch to misaligned address
167# CHECK:        bltzal $1, 131070
168# CHECK: error: branch to misaligned address
169# CHECK:        bltzal $1, 131071
170# CHECK: error: branch target out of range
171# CHECK:        bltzal $1, 131072
172
173# CHECK: error: branch to misaligned address
174# CHECK:        bc1f -131069
175# CHECK: error: branch to misaligned address
176# CHECK:        bc1f -131070
177# CHECK: error: branch to misaligned address
178# CHECK:        bc1f -131071
179# CHECK: error: branch target out of range
180# CHECK:        bc1f -131073
181# CHECK: error: branch to misaligned address
182# CHECK:        bc1f 131069
183# CHECK: error: branch to misaligned address
184# CHECK:        bc1f 131070
185# CHECK: error: branch to misaligned address
186# CHECK:        bc1f 131071
187# CHECK: error: branch target out of range
188# CHECK:        bc1f 131072
189
190# CHECK: error: branch to misaligned address
191# CHECK:        bc1f $fcc0, -131069
192# CHECK: error: branch to misaligned address
193# CHECK:        bc1f $fcc0, -131070
194# CHECK: error: branch to misaligned address
195# CHECK:        bc1f $fcc0, -131071
196# CHECK: error: branch target out of range
197# CHECK:        bc1f $fcc0, -131073
198# CHECK: error: branch to misaligned address
199# CHECK:        bc1f $fcc0, 131069
200# CHECK: error: branch to misaligned address
201# CHECK:        bc1f $fcc0, 131070
202# CHECK: error: branch to misaligned address
203# CHECK:        bc1f $fcc0, 131071
204# CHECK: error: branch target out of range
205# CHECK:        bc1f $fcc0, 131072
206
207# CHECK: error: branch to misaligned address
208# CHECK:        bc1t -131069
209# CHECK: error: branch to misaligned address
210# CHECK:        bc1t -131070
211# CHECK: error: branch to misaligned address
212# CHECK:        bc1t -131071
213# CHECK: error: branch target out of range
214# CHECK:        bc1t -131073
215# CHECK: error: branch to misaligned address
216# CHECK:        bc1t 131069
217# CHECK: error: branch to misaligned address
218# CHECK:        bc1t 131070
219# CHECK: error: branch to misaligned address
220# CHECK:        bc1t 131071
221# CHECK: error: branch target out of range
222# CHECK:        bc1t 131072
223
224# CHECK: error: branch to misaligned address
225# CHECK:        bc1t $fcc0, -131069
226# CHECK: error: branch to misaligned address
227# CHECK:        bc1t $fcc0, -131070
228# CHECK: error: branch to misaligned address
229# CHECK:        bc1t $fcc0, -131071
230# CHECK: error: branch target out of range
231# CHECK:        bc1t $fcc0, -131073
232# CHECK: error: branch to misaligned address
233# CHECK:        bc1t $fcc0, 131069
234# CHECK: error: branch to misaligned address
235# CHECK:        bc1t $fcc0, 131070
236# CHECK: error: branch to misaligned address
237# CHECK:        bc1t $fcc0, 131071
238# CHECK: error: branch target out of range
239# CHECK:        bc1t $fcc0, 131072
240
241.text
242.set noat
243  b -131068
244  b -131069
245  b -131070
246  b -131071
247  b -131072
248  b -131073
249  b 131068
250  b 131069
251  b 131070
252  b 131071
253  b 131072
254
255  beq $1, $1, -131068
256  beq $1, $1, -131069
257  beq $1, $1, -131070
258  beq $1, $1, -131071
259  beq $1, $1, -131072
260  beq $1, $1, -131073
261  beq $1, $1, 131068
262  beq $1, $1, 131069
263  beq $1, $1, 131070
264  beq $1, $1, 131071
265  beq $1, $1, 131072
266
267  bne $1, $1, -131068
268  bne $1, $1, -131069
269  bne $1, $1, -131070
270  bne $1, $1, -131071
271  bne $1, $1, -131072
272  bne $1, $1, -131073
273  bne $1, $1, 131068
274  bne $1, $1, 131069
275  bne $1, $1, 131070
276  bne $1, $1, 131071
277  bne $1, $1, 131072
278
279  bal -131068
280  bal -131069
281  bal -131070
282  bal -131071
283  bal -131072
284  bal -131073
285  bal 131068
286  bal 131069
287  bal 131070
288  bal 131071
289  bal 131072
290
291  bgez $1, -131068
292  bgez $1, -131069
293  bgez $1, -131070
294  bgez $1, -131071
295  bgez $1, -131072
296  bgez $1, -131073
297  bgez $1, 131068
298  bgez $1, 131069
299  bgez $1, 131070
300  bgez $1, 131071
301  bgez $1, 131072
302
303  bgtz $1, -131068
304  bgtz $1, -131069
305  bgtz $1, -131070
306  bgtz $1, -131071
307  bgtz $1, -131072
308  bgtz $1, -131073
309  bgtz $1, 131068
310  bgtz $1, 131069
311  bgtz $1, 131070
312  bgtz $1, 131071
313  bgtz $1, 131072
314
315  blez $1, -131068
316  blez $1, -131069
317  blez $1, -131070
318  blez $1, -131071
319  blez $1, -131072
320  blez $1, -131073
321  blez $1, 131068
322  blez $1, 131069
323  blez $1, 131070
324  blez $1, 131071
325  blez $1, 131072
326
327  bltz $1, -131068
328  bltz $1, -131069
329  bltz $1, -131070
330  bltz $1, -131071
331  bltz $1, -131072
332  bltz $1, -131073
333  bltz $1, 131068
334  bltz $1, 131069
335  bltz $1, 131070
336  bltz $1, 131071
337  bltz $1, 131072
338
339  bgezal $1, -131068
340  bgezal $1, -131069
341  bgezal $1, -131070
342  bgezal $1, -131071
343  bgezal $1, -131072
344  bgezal $1, -131073
345  bgezal $1, 131068
346  bgezal $1, 131069
347  bgezal $1, 131070
348  bgezal $1, 131071
349  bgezal $1, 131072
350
351  bltzal $1, -131068
352  bltzal $1, -131069
353  bltzal $1, -131070
354  bltzal $1, -131071
355  bltzal $1, -131072
356  bltzal $1, -131073
357  bltzal $1, 131068
358  bltzal $1, 131069
359  bltzal $1, 131070
360  bltzal $1, 131071
361  bltzal $1, 131072
362
363  bc1f -131068
364  bc1f -131069
365  bc1f -131070
366  bc1f -131071
367  bc1f -131072
368  bc1f -131073
369  bc1f 131068
370  bc1f 131069
371  bc1f 131070
372  bc1f 131071
373  bc1f 131072
374
375  bc1f $fcc0, -131068
376  bc1f $fcc0, -131069
377  bc1f $fcc0, -131070
378  bc1f $fcc0, -131071
379  bc1f $fcc0, -131072
380  bc1f $fcc0, -131073
381  bc1f $fcc0, 131068
382  bc1f $fcc0, 131069
383  bc1f $fcc0, 131070
384  bc1f $fcc0, 131071
385  bc1f $fcc0, 131072
386
387  bc1t -131068
388  bc1t -131069
389  bc1t -131070
390  bc1t -131071
391  bc1t -131072
392  bc1t -131073
393  bc1t 131068
394  bc1t 131069
395  bc1t 131070
396  bc1t 131071
397  bc1t 131072
398
399  bc1t $fcc0, -131068
400  bc1t $fcc0, -131069
401  bc1t $fcc0, -131070
402  bc1t $fcc0, -131071
403  bc1t $fcc0, -131072
404  bc1t $fcc0, -131073
405  bc1t $fcc0, 131068
406  bc1t $fcc0, 131069
407  bc1t $fcc0, 131070
408  bc1t $fcc0, 131071
409  bc1t $fcc0, 131072
410