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
77 #CHECK: error: invalid operand
79 #CHECK: error: invalid operand
80 #CHECK: loc %r0,-524289,1
81 #CHECK: error: invalid operand
82 #CHECK: loc %r0,524288,1
83 #CHECK: error: invalid use of indexed addressing
84 #CHECK: loc %r0,0(%r1,%r2),1
92 #CHECK: error: invalid operand
94 #CHECK: error: invalid operand
96 #CHECK: error: invalid operand
97 #CHECK: locg %r0,-524289,1
98 #CHECK: error: invalid operand
99 #CHECK: locg %r0,524288,1
100 #CHECK: error: invalid use of indexed addressing
101 #CHECK: locg %r0,0(%r1,%r2),1
107 locg %r0,0(%r1,%r2),1
109 #CHECK: error: invalid operand
110 #CHECK: locgr %r0,%r0,-1
111 #CHECK: error: invalid operand
112 #CHECK: locgr %r0,%r0,16
117 #CHECK: error: invalid operand
118 #CHECK: locr %r0,%r0,-1
119 #CHECK: error: invalid operand
120 #CHECK: locr %r0,%r0,16
125 #CHECK: error: invalid operand
126 #CHECK: risbhg %r0,%r0,0,0,-1
127 #CHECK: error: invalid operand
128 #CHECK: risbhg %r0,%r0,0,0,64
129 #CHECK: error: invalid operand
130 #CHECK: risbhg %r0,%r0,0,-1,0
131 #CHECK: error: invalid operand
132 #CHECK: risbhg %r0,%r0,0,256,0
133 #CHECK: error: invalid operand
134 #CHECK: risbhg %r0,%r0,-1,0,0
135 #CHECK: error: invalid operand
136 #CHECK: risbhg %r0,%r0,256,0,0
138 risbhg %r0,%r0,0,0,-1
139 risbhg %r0,%r0,0,0,64
140 risbhg %r0,%r0,0,-1,0
141 risbhg %r0,%r0,0,256,0
142 risbhg %r0,%r0,-1,0,0
143 risbhg %r0,%r0,256,0,0
145 #CHECK: error: invalid operand
146 #CHECK: risblg %r0,%r0,0,0,-1
147 #CHECK: error: invalid operand
148 #CHECK: risblg %r0,%r0,0,0,64
149 #CHECK: error: invalid operand
150 #CHECK: risblg %r0,%r0,0,-1,0
151 #CHECK: error: invalid operand
152 #CHECK: risblg %r0,%r0,0,256,0
153 #CHECK: error: invalid operand
154 #CHECK: risblg %r0,%r0,-1,0,0
155 #CHECK: error: invalid operand
156 #CHECK: risblg %r0,%r0,256,0,0
158 risblg %r0,%r0,0,0,-1
159 risblg %r0,%r0,0,0,64
160 risblg %r0,%r0,0,-1,0
161 risblg %r0,%r0,0,256,0
162 risblg %r0,%r0,-1,0,0
163 risblg %r0,%r0,256,0,0
165 #CHECK: error: invalid operand
166 #CHECK: sllk %r0,%r0,-524289
167 #CHECK: error: invalid operand
168 #CHECK: sllk %r0,%r0,524288
169 #CHECK: error: %r0 used in an address
170 #CHECK: sllk %r0,%r0,0(%r0)
171 #CHECK: error: invalid use of indexed addressing
172 #CHECK: sllk %r0,%r0,0(%r1,%r2)
177 sllk %r0,%r0,0(%r1,%r2)
179 #CHECK: error: invalid operand
180 #CHECK: srak %r0,%r0,-524289
181 #CHECK: error: invalid operand
182 #CHECK: srak %r0,%r0,524288
183 #CHECK: error: %r0 used in an address
184 #CHECK: srak %r0,%r0,0(%r0)
185 #CHECK: error: invalid use of indexed addressing
186 #CHECK: srak %r0,%r0,0(%r1,%r2)
191 srak %r0,%r0,0(%r1,%r2)
193 #CHECK: error: invalid operand
194 #CHECK: srlk %r0,%r0,-524289
195 #CHECK: error: invalid operand
196 #CHECK: srlk %r0,%r0,524288
197 #CHECK: error: %r0 used in an address
198 #CHECK: srlk %r0,%r0,0(%r0)
199 #CHECK: error: invalid use of indexed addressing
200 #CHECK: srlk %r0,%r0,0(%r1,%r2)
205 srlk %r0,%r0,0(%r1,%r2)
207 #CHECK: error: invalid operand
208 #CHECK: stoc %r0,0,-1
209 #CHECK: error: invalid operand
210 #CHECK: stoc %r0,0,16
211 #CHECK: error: invalid operand
212 #CHECK: stoc %r0,-524289,1
213 #CHECK: error: invalid operand
214 #CHECK: stoc %r0,524288,1
215 #CHECK: error: invalid use of indexed addressing
216 #CHECK: stoc %r0,0(%r1,%r2),1
222 stoc %r0,0(%r1,%r2),1
224 #CHECK: error: invalid operand
225 #CHECK: stocg %r0,0,-1
226 #CHECK: error: invalid operand
227 #CHECK: stocg %r0,0,16
228 #CHECK: error: invalid operand
229 #CHECK: stocg %r0,-524289,1
230 #CHECK: error: invalid operand
231 #CHECK: stocg %r0,524288,1
232 #CHECK: error: invalid use of indexed addressing
233 #CHECK: stocg %r0,0(%r1,%r2),1
239 stocg %r0,0(%r1,%r2),1