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: lfh %r0, -524289
77 #CHECK: error: invalid operand
78 #CHECK: lfh %r0, 524288
83 #CHECK: error: invalid operand
85 #CHECK: error: invalid operand
87 #CHECK: error: invalid operand
88 #CHECK: loc %r0,-524289,1
89 #CHECK: error: invalid operand
90 #CHECK: loc %r0,524288,1
91 #CHECK: error: invalid use of indexed addressing
92 #CHECK: loc %r0,0(%r1,%r2),1
100 #CHECK: error: invalid operand
101 #CHECK: locg %r0,0,-1
102 #CHECK: error: invalid operand
103 #CHECK: locg %r0,0,16
104 #CHECK: error: invalid operand
105 #CHECK: locg %r0,-524289,1
106 #CHECK: error: invalid operand
107 #CHECK: locg %r0,524288,1
108 #CHECK: error: invalid use of indexed addressing
109 #CHECK: locg %r0,0(%r1,%r2),1
115 locg %r0,0(%r1,%r2),1
117 #CHECK: error: invalid operand
118 #CHECK: locgr %r0,%r0,-1
119 #CHECK: error: invalid operand
120 #CHECK: locgr %r0,%r0,16
125 #CHECK: error: invalid operand
126 #CHECK: locr %r0,%r0,-1
127 #CHECK: error: invalid operand
128 #CHECK: locr %r0,%r0,16
133 #CHECK: error: invalid operand
134 #CHECK: risbhg %r0,%r0,0,0,-1
135 #CHECK: error: invalid operand
136 #CHECK: risbhg %r0,%r0,0,0,64
137 #CHECK: error: invalid operand
138 #CHECK: risbhg %r0,%r0,0,-1,0
139 #CHECK: error: invalid operand
140 #CHECK: risbhg %r0,%r0,0,256,0
141 #CHECK: error: invalid operand
142 #CHECK: risbhg %r0,%r0,-1,0,0
143 #CHECK: error: invalid operand
144 #CHECK: risbhg %r0,%r0,256,0,0
146 risbhg %r0,%r0,0,0,-1
147 risbhg %r0,%r0,0,0,64
148 risbhg %r0,%r0,0,-1,0
149 risbhg %r0,%r0,0,256,0
150 risbhg %r0,%r0,-1,0,0
151 risbhg %r0,%r0,256,0,0
153 #CHECK: error: invalid operand
154 #CHECK: risblg %r0,%r0,0,0,-1
155 #CHECK: error: invalid operand
156 #CHECK: risblg %r0,%r0,0,0,64
157 #CHECK: error: invalid operand
158 #CHECK: risblg %r0,%r0,0,-1,0
159 #CHECK: error: invalid operand
160 #CHECK: risblg %r0,%r0,0,256,0
161 #CHECK: error: invalid operand
162 #CHECK: risblg %r0,%r0,-1,0,0
163 #CHECK: error: invalid operand
164 #CHECK: risblg %r0,%r0,256,0,0
166 risblg %r0,%r0,0,0,-1
167 risblg %r0,%r0,0,0,64
168 risblg %r0,%r0,0,-1,0
169 risblg %r0,%r0,0,256,0
170 risblg %r0,%r0,-1,0,0
171 risblg %r0,%r0,256,0,0
173 #CHECK: error: invalid operand
174 #CHECK: sllk %r0,%r0,-524289
175 #CHECK: error: invalid operand
176 #CHECK: sllk %r0,%r0,524288
177 #CHECK: error: %r0 used in an address
178 #CHECK: sllk %r0,%r0,0(%r0)
179 #CHECK: error: invalid use of indexed addressing
180 #CHECK: sllk %r0,%r0,0(%r1,%r2)
185 sllk %r0,%r0,0(%r1,%r2)
187 #CHECK: error: invalid operand
188 #CHECK: srak %r0,%r0,-524289
189 #CHECK: error: invalid operand
190 #CHECK: srak %r0,%r0,524288
191 #CHECK: error: %r0 used in an address
192 #CHECK: srak %r0,%r0,0(%r0)
193 #CHECK: error: invalid use of indexed addressing
194 #CHECK: srak %r0,%r0,0(%r1,%r2)
199 srak %r0,%r0,0(%r1,%r2)
201 #CHECK: error: invalid operand
202 #CHECK: srlk %r0,%r0,-524289
203 #CHECK: error: invalid operand
204 #CHECK: srlk %r0,%r0,524288
205 #CHECK: error: %r0 used in an address
206 #CHECK: srlk %r0,%r0,0(%r0)
207 #CHECK: error: invalid use of indexed addressing
208 #CHECK: srlk %r0,%r0,0(%r1,%r2)
213 srlk %r0,%r0,0(%r1,%r2)
215 #CHECK: error: invalid operand
216 #CHECK: stfh %r0, -524289
217 #CHECK: error: invalid operand
218 #CHECK: stfh %r0, 524288
223 #CHECK: error: invalid operand
224 #CHECK: stoc %r0,0,-1
225 #CHECK: error: invalid operand
226 #CHECK: stoc %r0,0,16
227 #CHECK: error: invalid operand
228 #CHECK: stoc %r0,-524289,1
229 #CHECK: error: invalid operand
230 #CHECK: stoc %r0,524288,1
231 #CHECK: error: invalid use of indexed addressing
232 #CHECK: stoc %r0,0(%r1,%r2),1
238 stoc %r0,0(%r1,%r2),1
240 #CHECK: error: invalid operand
241 #CHECK: stocg %r0,0,-1
242 #CHECK: error: invalid operand
243 #CHECK: stocg %r0,0,16
244 #CHECK: error: invalid operand
245 #CHECK: stocg %r0,-524289,1
246 #CHECK: error: invalid operand
247 #CHECK: stocg %r0,524288,1
248 #CHECK: error: invalid use of indexed addressing
249 #CHECK: stocg %r0,0(%r1,%r2),1
255 stocg %r0,0(%r1,%r2),1