2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
3 # RUN: FileCheck < %t %s
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
12 aghik %r0, %r1, -32769
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
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
36 fidbra %f0, 0, %f0, -1
37 fidbra %f0, 0, %f0, 16
38 fidbra %f0, -1, %f0, 0
39 fidbra %f0, 16, %f0, 0
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
50 fiebra %f0, 0, %f0, -1
51 fiebra %f0, 0, %f0, 16
52 fiebra %f0, -1, %f0, 0
53 fiebra %f0, 16, %f0, 0
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
68 fixbra %f0, 0, %f0, -1
69 fixbra %f0, 0, %f0, 16
70 fixbra %f0, -1, %f0, 0
71 fixbra %f0, 16, %f0, 0
75 #CHECK: error: invalid operand
76 #CHECK: lbh %r0, -524289
77 #CHECK: error: invalid operand
78 #CHECK: lbh %r0, 524288
83 #CHECK: error: invalid operand
84 #CHECK: lfh %r0, -524289
85 #CHECK: error: invalid operand
86 #CHECK: lfh %r0, 524288
91 #CHECK: error: invalid operand
92 #CHECK: lhh %r0, -524289
93 #CHECK: error: invalid operand
94 #CHECK: lhh %r0, 524288
99 #CHECK: error: invalid operand
101 #CHECK: error: invalid operand
103 #CHECK: error: invalid operand
104 #CHECK: loc %r0,-524289,1
105 #CHECK: error: invalid operand
106 #CHECK: loc %r0,524288,1
107 #CHECK: error: invalid use of indexed addressing
108 #CHECK: loc %r0,0(%r1,%r2),1
116 #CHECK: error: invalid operand
117 #CHECK: locg %r0,0,-1
118 #CHECK: error: invalid operand
119 #CHECK: locg %r0,0,16
120 #CHECK: error: invalid operand
121 #CHECK: locg %r0,-524289,1
122 #CHECK: error: invalid operand
123 #CHECK: locg %r0,524288,1
124 #CHECK: error: invalid use of indexed addressing
125 #CHECK: locg %r0,0(%r1,%r2),1
131 locg %r0,0(%r1,%r2),1
133 #CHECK: error: invalid operand
134 #CHECK: locgr %r0,%r0,-1
135 #CHECK: error: invalid operand
136 #CHECK: locgr %r0,%r0,16
141 #CHECK: error: invalid operand
142 #CHECK: locr %r0,%r0,-1
143 #CHECK: error: invalid operand
144 #CHECK: locr %r0,%r0,16
149 #CHECK: error: invalid operand
150 #CHECK: risbhg %r0,%r0,0,0,-1
151 #CHECK: error: invalid operand
152 #CHECK: risbhg %r0,%r0,0,0,64
153 #CHECK: error: invalid operand
154 #CHECK: risbhg %r0,%r0,0,-1,0
155 #CHECK: error: invalid operand
156 #CHECK: risbhg %r0,%r0,0,256,0
157 #CHECK: error: invalid operand
158 #CHECK: risbhg %r0,%r0,-1,0,0
159 #CHECK: error: invalid operand
160 #CHECK: risbhg %r0,%r0,256,0,0
162 risbhg %r0,%r0,0,0,-1
163 risbhg %r0,%r0,0,0,64
164 risbhg %r0,%r0,0,-1,0
165 risbhg %r0,%r0,0,256,0
166 risbhg %r0,%r0,-1,0,0
167 risbhg %r0,%r0,256,0,0
169 #CHECK: error: invalid operand
170 #CHECK: risblg %r0,%r0,0,0,-1
171 #CHECK: error: invalid operand
172 #CHECK: risblg %r0,%r0,0,0,64
173 #CHECK: error: invalid operand
174 #CHECK: risblg %r0,%r0,0,-1,0
175 #CHECK: error: invalid operand
176 #CHECK: risblg %r0,%r0,0,256,0
177 #CHECK: error: invalid operand
178 #CHECK: risblg %r0,%r0,-1,0,0
179 #CHECK: error: invalid operand
180 #CHECK: risblg %r0,%r0,256,0,0
182 risblg %r0,%r0,0,0,-1
183 risblg %r0,%r0,0,0,64
184 risblg %r0,%r0,0,-1,0
185 risblg %r0,%r0,0,256,0
186 risblg %r0,%r0,-1,0,0
187 risblg %r0,%r0,256,0,0
189 #CHECK: error: invalid operand
190 #CHECK: sllk %r0,%r0,-524289
191 #CHECK: error: invalid operand
192 #CHECK: sllk %r0,%r0,524288
193 #CHECK: error: %r0 used in an address
194 #CHECK: sllk %r0,%r0,0(%r0)
195 #CHECK: error: invalid use of indexed addressing
196 #CHECK: sllk %r0,%r0,0(%r1,%r2)
201 sllk %r0,%r0,0(%r1,%r2)
203 #CHECK: error: invalid operand
204 #CHECK: srak %r0,%r0,-524289
205 #CHECK: error: invalid operand
206 #CHECK: srak %r0,%r0,524288
207 #CHECK: error: %r0 used in an address
208 #CHECK: srak %r0,%r0,0(%r0)
209 #CHECK: error: invalid use of indexed addressing
210 #CHECK: srak %r0,%r0,0(%r1,%r2)
215 srak %r0,%r0,0(%r1,%r2)
217 #CHECK: error: invalid operand
218 #CHECK: srlk %r0,%r0,-524289
219 #CHECK: error: invalid operand
220 #CHECK: srlk %r0,%r0,524288
221 #CHECK: error: %r0 used in an address
222 #CHECK: srlk %r0,%r0,0(%r0)
223 #CHECK: error: invalid use of indexed addressing
224 #CHECK: srlk %r0,%r0,0(%r1,%r2)
229 srlk %r0,%r0,0(%r1,%r2)
231 #CHECK: error: invalid operand
232 #CHECK: stfh %r0, -524289
233 #CHECK: error: invalid operand
234 #CHECK: stfh %r0, 524288
239 #CHECK: error: invalid operand
240 #CHECK: stoc %r0,0,-1
241 #CHECK: error: invalid operand
242 #CHECK: stoc %r0,0,16
243 #CHECK: error: invalid operand
244 #CHECK: stoc %r0,-524289,1
245 #CHECK: error: invalid operand
246 #CHECK: stoc %r0,524288,1
247 #CHECK: error: invalid use of indexed addressing
248 #CHECK: stoc %r0,0(%r1,%r2),1
254 stoc %r0,0(%r1,%r2),1
256 #CHECK: error: invalid operand
257 #CHECK: stocg %r0,0,-1
258 #CHECK: error: invalid operand
259 #CHECK: stocg %r0,0,16
260 #CHECK: error: invalid operand
261 #CHECK: stocg %r0,-524289,1
262 #CHECK: error: invalid operand
263 #CHECK: stocg %r0,524288,1
264 #CHECK: error: invalid use of indexed addressing
265 #CHECK: stocg %r0,0(%r1,%r2),1
271 stocg %r0,0(%r1,%r2),1