2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z16 < %s 2> %t
3 # RUN: FileCheck < %t %s
5 #CHECK: error: invalid operand
7 #CHECK: error: invalid operand
9 #CHECK: error: invalid use of indexed addressing
10 #CHECK: lbear 0(%r1,%r2)
16 #CHECK: error: invalid operand
17 #CHECK: lpswey -524289
18 #CHECK: error: invalid operand
20 #CHECK: error: invalid use of indexed addressing
21 #CHECK: lpswey 0(%r1,%r2)
27 #CHECK: error: invalid operand
29 #CHECK: error: invalid operand
31 #CHECK: error: invalid use of indexed addressing
32 #CHECK: qpaci 0(%r1,%r2)
38 #CHECK: error: invalid operand
39 #CHECK: rdp %r0, %r0, %r0, -1
40 #CHECK: error: invalid operand
41 #CHECK: rdp %r0, %r0, %r0, 16
46 #CHECK: error: invalid operand
48 #CHECK: error: invalid operand
50 #CHECK: error: invalid use of indexed addressing
51 #CHECK: stbear 0(%r1,%r2)
57 #CHECK: error: invalid operand
58 #CHECK: vcfn %v0, %v0, 0, -1
59 #CHECK: error: invalid operand
60 #CHECK: vcfn %v0, %v0, 0, 16
61 #CHECK: error: invalid operand
62 #CHECK: vcfn %v0, %v0, -1, 0
63 #CHECK: error: invalid operand
64 #CHECK: vcfn %v0, %v0, 16, 0
71 #CHECK: error: invalid operand
72 #CHECK: vclfnl %v0, %v0, 0, -1
73 #CHECK: error: invalid operand
74 #CHECK: vclfnl %v0, %v0, 0, 16
75 #CHECK: error: invalid operand
76 #CHECK: vclfnl %v0, %v0, -1, 0
77 #CHECK: error: invalid operand
78 #CHECK: vclfnl %v0, %v0, 16, 0
80 vclfnl
%v0
, %v0
, 0, -1
81 vclfnl
%v0
, %v0
, 0, 16
82 vclfnl
%v0
, %v0
, -1, 0
83 vclfnl
%v0
, %v0
, 16, 0
85 #CHECK: error: invalid operand
86 #CHECK: vclfnh %v0, %v0, 0, -1
87 #CHECK: error: invalid operand
88 #CHECK: vclfnh %v0, %v0, 0, 16
89 #CHECK: error: invalid operand
90 #CHECK: vclfnh %v0, %v0, -1, 0
91 #CHECK: error: invalid operand
92 #CHECK: vclfnh %v0, %v0, 16, 0
94 vclfnh
%v0
, %v0
, 0, -1
95 vclfnh
%v0
, %v0
, 0, 16
96 vclfnh
%v0
, %v0
, -1, 0
97 vclfnh
%v0
, %v0
, 16, 0
99 #CHECK: error: invalid operand
100 #CHECK: vcnf %v0, %v0, 0, -1
101 #CHECK: error: invalid operand
102 #CHECK: vcnf %v0, %v0, 0, 16
103 #CHECK: error: invalid operand
104 #CHECK: vcnf %v0, %v0, -1, 0
105 #CHECK: error: invalid operand
106 #CHECK: vcnf %v0, %v0, 16, 0
113 #CHECK: error: invalid operand
114 #CHECK: vcrnf %v0, %v0, %v0, 0, -1
115 #CHECK: error: invalid operand
116 #CHECK: vcrnf %v0, %v0, %v0, 0, 16
117 #CHECK: error: invalid operand
118 #CHECK: vcrnf %v0, %v0, %v0, -1, 0
119 #CHECK: error: invalid operand
120 #CHECK: vcrnf %v0, %v0, %v0, 16, 0
122 vcrnf
%v0
, %v0
, %v0
, 0, -1
123 vcrnf
%v0
, %v0
, %v0
, 0, 16
124 vcrnf
%v0
, %v0
, %v0
, -1, 0
125 vcrnf
%v0
, %v0
, %v0
, 16, 0
127 #CHECK: error: invalid operand
128 #CHECK: vclzdp %v0, %v0, -1
129 #CHECK: error: invalid operand
130 #CHECK: vclzdp %v0, %v0, 16
135 #CHECK: error: invalid operand
136 #CHECK: vcsph %v0, %v0, %v0, -1
137 #CHECK: error: invalid operand
138 #CHECK: vcsph %v0, %v0, %v0, 16
140 vcsph
%v0
, %v0
, %v0
, -1
141 vcsph
%v0
, %v0
, %v0
, 16
143 #CHECK: error: invalid operand
144 #CHECK: vpkzr %v0, %v0, %v0, 0, -1
145 #CHECK: error: invalid operand
146 #CHECK: vpkzr %v0, %v0, %v0, 0, 16
147 #CHECK: error: invalid operand
148 #CHECK: vpkzr %v0, %v0, %v0, -1, 0
149 #CHECK: error: invalid operand
150 #CHECK: vpkzr %v0, %v0, %v0, 256, 0
152 vpkzr
%v0
, %v0
, %v0
, 0, -1
153 vpkzr
%v0
, %v0
, %v0
, 0, 16
154 vpkzr
%v0
, %v0
, %v0
, -1, 0
155 vpkzr
%v0
, %v0
, %v0
, 256, 0
157 #CHECK: error: invalid operand
158 #CHECK: vschp %v0, %v0, %v0, 0, -1
159 #CHECK: error: invalid operand
160 #CHECK: vschp %v0, %v0, %v0, 0, 16
161 #CHECK: error: invalid operand
162 #CHECK: vschp %v0, %v0, %v0, -1, 0
163 #CHECK: error: invalid operand
164 #CHECK: vschp %v0, %v0, %v0, 16, 0
166 vschp
%v0
, %v0
, %v0
, 0, -1
167 vschp
%v0
, %v0
, %v0
, 0, 16
168 vschp
%v0
, %v0
, %v0
, -1, 0
169 vschp
%v0
, %v0
, %v0
, 16, 0
171 #CHECK: error: invalid operand
172 #CHECK: vschsp %v0, %v0, %v0, -1
173 #CHECK: error: invalid operand
174 #CHECK: vschsp %v0, %v0, %v0, 16
176 vschsp
%v0
, %v0
, %v0
, -1
177 vschsp
%v0
, %v0
, %v0
, 16
179 #CHECK: error: invalid operand
180 #CHECK: vschdp %v0, %v0, %v0, -1
181 #CHECK: error: invalid operand
182 #CHECK: vschdp %v0, %v0, %v0, 16
184 vschdp
%v0
, %v0
, %v0
, -1
185 vschdp
%v0
, %v0
, %v0
, 16
187 #CHECK: error: invalid operand
188 #CHECK: vschxp %v0, %v0, %v0, -1
189 #CHECK: error: invalid operand
190 #CHECK: vschxp %v0, %v0, %v0, 16
192 vschxp
%v0
, %v0
, %v0
, -1
193 vschxp
%v0
, %v0
, %v0
, 16
195 #CHECK: error: invalid operand
196 #CHECK: vsrpr %v0, %v0, %v0, 0, -1
197 #CHECK: error: invalid operand
198 #CHECK: vsrpr %v0, %v0, %v0, 0, 16
199 #CHECK: error: invalid operand
200 #CHECK: vsrpr %v0, %v0, %v0, -1, 0
201 #CHECK: error: invalid operand
202 #CHECK: vsrpr %v0, %v0, %v0, 256, 0
204 vsrpr
%v0
, %v0
, %v0
, 0, -1
205 vsrpr
%v0
, %v0
, %v0
, 0, 16
206 vsrpr
%v0
, %v0
, %v0
, -1, 0
207 vsrpr
%v0
, %v0
, %v0
, 256, 0
209 #CHECK: error: invalid operand
210 #CHECK: vupkzh %v0, %v0, -1
211 #CHECK: error: invalid operand
212 #CHECK: vupkzh %v0, %v0, 16
217 #CHECK: error: invalid operand
218 #CHECK: vupkzl %v0, %v0, -1
219 #CHECK: error: invalid operand
220 #CHECK: vupkzl %v0, %v0, 16