0ed33702e486e1c4e164ac82384e6d7d831d02b5
[oota-llvm.git] / test / MC / SystemZ / insn-bad-z196.s
1 # For z196 only.
2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
3 # RUN: FileCheck < %t %s
4
5 #CHECK: error: invalid operand
6 #CHECK: aghik   %r0, %r1, -32769
7 #CHECK: error: invalid operand
8 #CHECK: aghik   %r0, %r1, 32768
9 #CHECK: error: invalid operand
10 #CHECK: aghik   %r0, %r1, foo
11
12         aghik   %r0, %r1, -32769
13         aghik   %r0, %r1, 32768
14         aghik   %r0, %r1, foo
15
16 #CHECK: error: invalid operand
17 #CHECK: ahik    %r0, %r1, -32769
18 #CHECK: error: invalid operand
19 #CHECK: ahik    %r0, %r1, 32768
20 #CHECK: error: invalid operand
21 #CHECK: ahik    %r0, %r1, foo
22
23         ahik    %r0, %r1, -32769
24         ahik    %r0, %r1, 32768
25         ahik    %r0, %r1, foo
26
27 #CHECK: error: invalid operand
28 #CHECK: fidbra  %f0, 0, %f0, -1
29 #CHECK: error: invalid operand
30 #CHECK: fidbra  %f0, 0, %f0, 16
31 #CHECK: error: invalid operand
32 #CHECK: fidbra  %f0, -1, %f0, 0
33 #CHECK: error: invalid operand
34 #CHECK: fidbra  %f0, 16, %f0, 0
35
36         fidbra  %f0, 0, %f0, -1
37         fidbra  %f0, 0, %f0, 16
38         fidbra  %f0, -1, %f0, 0
39         fidbra  %f0, 16, %f0, 0
40
41 #CHECK: error: invalid operand
42 #CHECK: fiebra  %f0, 0, %f0, -1
43 #CHECK: error: invalid operand
44 #CHECK: fiebra  %f0, 0, %f0, 16
45 #CHECK: error: invalid operand
46 #CHECK: fiebra  %f0, -1, %f0, 0
47 #CHECK: error: invalid operand
48 #CHECK: fiebra  %f0, 16, %f0, 0
49
50         fiebra  %f0, 0, %f0, -1
51         fiebra  %f0, 0, %f0, 16
52         fiebra  %f0, -1, %f0, 0
53         fiebra  %f0, 16, %f0, 0
54
55 #CHECK: error: invalid operand
56 #CHECK: fixbra  %f0, 0, %f0, -1
57 #CHECK: error: invalid operand
58 #CHECK: fixbra  %f0, 0, %f0, 16
59 #CHECK: error: invalid operand
60 #CHECK: fixbra  %f0, -1, %f0, 0
61 #CHECK: error: invalid operand
62 #CHECK: fixbra  %f0, 16, %f0, 0
63 #CHECK: error: invalid register pair
64 #CHECK: fixbra  %f0, 0, %f2, 0
65 #CHECK: error: invalid register pair
66 #CHECK: fixbra  %f2, 0, %f0, 0
67
68         fixbra  %f0, 0, %f0, -1
69         fixbra  %f0, 0, %f0, 16
70         fixbra  %f0, -1, %f0, 0
71         fixbra  %f0, 16, %f0, 0
72         fixbra  %f0, 0, %f2, 0
73         fixbra  %f2, 0, %f0, 0
74
75 #CHECK: error: invalid operand
76 #CHECK: lbh     %r0, -524289
77 #CHECK: error: invalid operand
78 #CHECK: lbh     %r0, 524288
79
80         lbh     %r0, -524289
81         lbh     %r0, 524288
82
83 #CHECK: error: invalid operand
84 #CHECK: lfh     %r0, -524289
85 #CHECK: error: invalid operand
86 #CHECK: lfh     %r0, 524288
87
88         lfh     %r0, -524289
89         lfh     %r0, 524288
90
91 #CHECK: error: invalid operand
92 #CHECK: lhh     %r0, -524289
93 #CHECK: error: invalid operand
94 #CHECK: lhh     %r0, 524288
95
96         lhh     %r0, -524289
97         lhh     %r0, 524288
98
99 #CHECK: error: invalid operand
100 #CHECK: llch    %r0, -524289
101 #CHECK: error: invalid operand
102 #CHECK: llch    %r0, 524288
103
104         llch    %r0, -524289
105         llch    %r0, 524288
106
107 #CHECK: error: invalid operand
108 #CHECK: llhh    %r0, -524289
109 #CHECK: error: invalid operand
110 #CHECK: llhh    %r0, 524288
111
112         llhh    %r0, -524289
113         llhh    %r0, 524288
114
115 #CHECK: error: invalid operand
116 #CHECK: loc     %r0,0,-1
117 #CHECK: error: invalid operand
118 #CHECK: loc     %r0,0,16
119 #CHECK: error: invalid operand
120 #CHECK: loc     %r0,-524289,1
121 #CHECK: error: invalid operand
122 #CHECK: loc     %r0,524288,1
123 #CHECK: error: invalid use of indexed addressing
124 #CHECK: loc     %r0,0(%r1,%r2),1
125
126         loc     %r0,0,-1
127         loc     %r0,0,16
128         loc     %r0,-524289,1
129         loc     %r0,524288,1
130         loc     %r0,0(%r1,%r2),1
131
132 #CHECK: error: invalid operand
133 #CHECK: locg    %r0,0,-1
134 #CHECK: error: invalid operand
135 #CHECK: locg    %r0,0,16
136 #CHECK: error: invalid operand
137 #CHECK: locg    %r0,-524289,1
138 #CHECK: error: invalid operand
139 #CHECK: locg    %r0,524288,1
140 #CHECK: error: invalid use of indexed addressing
141 #CHECK: locg    %r0,0(%r1,%r2),1
142
143         locg    %r0,0,-1
144         locg    %r0,0,16
145         locg    %r0,-524289,1
146         locg    %r0,524288,1
147         locg    %r0,0(%r1,%r2),1
148
149 #CHECK: error: invalid operand
150 #CHECK: locgr   %r0,%r0,-1
151 #CHECK: error: invalid operand
152 #CHECK: locgr   %r0,%r0,16
153
154         locgr   %r0,%r0,-1
155         locgr   %r0,%r0,16
156
157 #CHECK: error: invalid operand
158 #CHECK: locr    %r0,%r0,-1
159 #CHECK: error: invalid operand
160 #CHECK: locr    %r0,%r0,16
161
162         locr    %r0,%r0,-1
163         locr    %r0,%r0,16
164
165 #CHECK: error: invalid operand
166 #CHECK: risbhg  %r0,%r0,0,0,-1
167 #CHECK: error: invalid operand
168 #CHECK: risbhg  %r0,%r0,0,0,64
169 #CHECK: error: invalid operand
170 #CHECK: risbhg  %r0,%r0,0,-1,0
171 #CHECK: error: invalid operand
172 #CHECK: risbhg  %r0,%r0,0,256,0
173 #CHECK: error: invalid operand
174 #CHECK: risbhg  %r0,%r0,-1,0,0
175 #CHECK: error: invalid operand
176 #CHECK: risbhg  %r0,%r0,256,0,0
177
178         risbhg  %r0,%r0,0,0,-1
179         risbhg  %r0,%r0,0,0,64
180         risbhg  %r0,%r0,0,-1,0
181         risbhg  %r0,%r0,0,256,0
182         risbhg  %r0,%r0,-1,0,0
183         risbhg  %r0,%r0,256,0,0
184
185 #CHECK: error: invalid operand
186 #CHECK: risblg  %r0,%r0,0,0,-1
187 #CHECK: error: invalid operand
188 #CHECK: risblg  %r0,%r0,0,0,64
189 #CHECK: error: invalid operand
190 #CHECK: risblg  %r0,%r0,0,-1,0
191 #CHECK: error: invalid operand
192 #CHECK: risblg  %r0,%r0,0,256,0
193 #CHECK: error: invalid operand
194 #CHECK: risblg  %r0,%r0,-1,0,0
195 #CHECK: error: invalid operand
196 #CHECK: risblg  %r0,%r0,256,0,0
197
198         risblg  %r0,%r0,0,0,-1
199         risblg  %r0,%r0,0,0,64
200         risblg  %r0,%r0,0,-1,0
201         risblg  %r0,%r0,0,256,0
202         risblg  %r0,%r0,-1,0,0
203         risblg  %r0,%r0,256,0,0
204
205 #CHECK: error: invalid operand
206 #CHECK: sllk    %r0,%r0,-524289
207 #CHECK: error: invalid operand
208 #CHECK: sllk    %r0,%r0,524288
209 #CHECK: error: %r0 used in an address
210 #CHECK: sllk    %r0,%r0,0(%r0)
211 #CHECK: error: invalid use of indexed addressing
212 #CHECK: sllk    %r0,%r0,0(%r1,%r2)
213
214         sllk    %r0,%r0,-524289
215         sllk    %r0,%r0,524288
216         sllk    %r0,%r0,0(%r0)
217         sllk    %r0,%r0,0(%r1,%r2)
218
219 #CHECK: error: invalid operand
220 #CHECK: srak    %r0,%r0,-524289
221 #CHECK: error: invalid operand
222 #CHECK: srak    %r0,%r0,524288
223 #CHECK: error: %r0 used in an address
224 #CHECK: srak    %r0,%r0,0(%r0)
225 #CHECK: error: invalid use of indexed addressing
226 #CHECK: srak    %r0,%r0,0(%r1,%r2)
227
228         srak    %r0,%r0,-524289
229         srak    %r0,%r0,524288
230         srak    %r0,%r0,0(%r0)
231         srak    %r0,%r0,0(%r1,%r2)
232
233 #CHECK: error: invalid operand
234 #CHECK: srlk    %r0,%r0,-524289
235 #CHECK: error: invalid operand
236 #CHECK: srlk    %r0,%r0,524288
237 #CHECK: error: %r0 used in an address
238 #CHECK: srlk    %r0,%r0,0(%r0)
239 #CHECK: error: invalid use of indexed addressing
240 #CHECK: srlk    %r0,%r0,0(%r1,%r2)
241
242         srlk    %r0,%r0,-524289
243         srlk    %r0,%r0,524288
244         srlk    %r0,%r0,0(%r0)
245         srlk    %r0,%r0,0(%r1,%r2)
246
247 #CHECK: error: invalid operand
248 #CHECK: stch    %r0, -524289
249 #CHECK: error: invalid operand
250 #CHECK: stch    %r0, 524288
251
252         stch    %r0, -524289
253         stch    %r0, 524288
254
255 #CHECK: error: invalid operand
256 #CHECK: sthh    %r0, -524289
257 #CHECK: error: invalid operand
258 #CHECK: sthh    %r0, 524288
259
260         sthh    %r0, -524289
261         sthh    %r0, 524288
262
263 #CHECK: error: invalid operand
264 #CHECK: stfh    %r0, -524289
265 #CHECK: error: invalid operand
266 #CHECK: stfh    %r0, 524288
267
268         stfh    %r0, -524289
269         stfh    %r0, 524288
270
271 #CHECK: error: invalid operand
272 #CHECK: stoc    %r0,0,-1
273 #CHECK: error: invalid operand
274 #CHECK: stoc    %r0,0,16
275 #CHECK: error: invalid operand
276 #CHECK: stoc    %r0,-524289,1
277 #CHECK: error: invalid operand
278 #CHECK: stoc    %r0,524288,1
279 #CHECK: error: invalid use of indexed addressing
280 #CHECK: stoc    %r0,0(%r1,%r2),1
281
282         stoc    %r0,0,-1
283         stoc    %r0,0,16
284         stoc    %r0,-524289,1
285         stoc    %r0,524288,1
286         stoc    %r0,0(%r1,%r2),1
287
288 #CHECK: error: invalid operand
289 #CHECK: stocg   %r0,0,-1
290 #CHECK: error: invalid operand
291 #CHECK: stocg   %r0,0,16
292 #CHECK: error: invalid operand
293 #CHECK: stocg   %r0,-524289,1
294 #CHECK: error: invalid operand
295 #CHECK: stocg   %r0,524288,1
296 #CHECK: error: invalid use of indexed addressing
297 #CHECK: stocg   %r0,0(%r1,%r2),1
298
299         stocg   %r0,0,-1
300         stocg   %r0,0,16
301         stocg   %r0,-524289,1
302         stocg   %r0,524288,1
303         stocg   %r0,0(%r1,%r2),1