[mips][microMIPS] Implement PREPEND, RADDU.W.QB, RDDSP, REPL.PH, REPL.QB, REPLV.PH...
[oota-llvm.git] / test / MC / Mips / mips-bad-branches.s
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