[SystemZ] Reapply: Add definitions of LFH and STFH
[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: lfh     %r0, -524289
77 #CHECK: error: invalid operand
78 #CHECK: lfh     %r0, 524288
79
80         lfh     %r0, -524289
81         lfh     %r0, 524288
82
83 #CHECK: error: invalid operand
84 #CHECK: loc     %r0,0,-1
85 #CHECK: error: invalid operand
86 #CHECK: loc     %r0,0,16
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
93
94         loc     %r0,0,-1
95         loc     %r0,0,16
96         loc     %r0,-524289,1
97         loc     %r0,524288,1
98         loc     %r0,0(%r1,%r2),1
99
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
110
111         locg    %r0,0,-1
112         locg    %r0,0,16
113         locg    %r0,-524289,1
114         locg    %r0,524288,1
115         locg    %r0,0(%r1,%r2),1
116
117 #CHECK: error: invalid operand
118 #CHECK: locgr   %r0,%r0,-1
119 #CHECK: error: invalid operand
120 #CHECK: locgr   %r0,%r0,16
121
122         locgr   %r0,%r0,-1
123         locgr   %r0,%r0,16
124
125 #CHECK: error: invalid operand
126 #CHECK: locr    %r0,%r0,-1
127 #CHECK: error: invalid operand
128 #CHECK: locr    %r0,%r0,16
129
130         locr    %r0,%r0,-1
131         locr    %r0,%r0,16
132
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
145
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
152
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
165
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
172
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)
181
182         sllk    %r0,%r0,-524289
183         sllk    %r0,%r0,524288
184         sllk    %r0,%r0,0(%r0)
185         sllk    %r0,%r0,0(%r1,%r2)
186
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)
195
196         srak    %r0,%r0,-524289
197         srak    %r0,%r0,524288
198         srak    %r0,%r0,0(%r0)
199         srak    %r0,%r0,0(%r1,%r2)
200
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)
209
210         srlk    %r0,%r0,-524289
211         srlk    %r0,%r0,524288
212         srlk    %r0,%r0,0(%r0)
213         srlk    %r0,%r0,0(%r1,%r2)
214
215 #CHECK: error: invalid operand
216 #CHECK: stfh    %r0, -524289
217 #CHECK: error: invalid operand
218 #CHECK: stfh    %r0, 524288
219
220         stfh    %r0, -524289
221         stfh    %r0, 524288
222
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
233
234         stoc    %r0,0,-1
235         stoc    %r0,0,16
236         stoc    %r0,-524289,1
237         stoc    %r0,524288,1
238         stoc    %r0,0(%r1,%r2),1
239
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
250
251         stocg   %r0,0,-1
252         stocg   %r0,0,16
253         stocg   %r0,-524289,1
254         stocg   %r0,524288,1
255         stocg   %r0,0(%r1,%r2),1