1# For arch14 only.
2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch14 < %s 2> %t
3# RUN: FileCheck < %t %s
4
5#CHECK: error: invalid operand
6#CHECK: lbear	-1
7#CHECK: error: invalid operand
8#CHECK: lbear	4096
9#CHECK: error: invalid use of indexed addressing
10#CHECK: lbear	0(%r1,%r2)
11
12	lbear	-1
13	lbear	4096
14	lbear	0(%r1,%r2)
15
16#CHECK: error: invalid operand
17#CHECK: lpswey	-524289
18#CHECK: error: invalid operand
19#CHECK: lpswey	524288
20#CHECK: error: invalid use of indexed addressing
21#CHECK: lpswey	0(%r1,%r2)
22
23	lpswey	-524289
24	lpswey	524288
25	lpswey	0(%r1,%r2)
26
27#CHECK: error: invalid operand
28#CHECK: qpaci	-1
29#CHECK: error: invalid operand
30#CHECK: qpaci	4096
31#CHECK: error: invalid use of indexed addressing
32#CHECK: qpaci	0(%r1,%r2)
33
34	qpaci	-1
35	qpaci	4096
36	qpaci	0(%r1,%r2)
37
38#CHECK: error: invalid operand
39#CHECK: rdp	%r0, %r0, %r0, -1
40#CHECK: error: invalid operand
41#CHECK: rdp	%r0, %r0, %r0, 16
42
43	rdp	%r0, %r0, %r0, -1
44	rdp	%r0, %r0, %r0, 16
45
46#CHECK: error: invalid operand
47#CHECK: stbear	-1
48#CHECK: error: invalid operand
49#CHECK: stbear	4096
50#CHECK: error: invalid use of indexed addressing
51#CHECK: stbear	0(%r1,%r2)
52
53	stbear	-1
54	stbear	4096
55	stbear	0(%r1,%r2)
56
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
65
66	vcfn	%v0, %v0, 0, -1
67	vcfn	%v0, %v0, 0, 16
68	vcfn	%v0, %v0, -1, 0
69	vcfn	%v0, %v0, 16, 0
70
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
79
80	vclfnl	%v0, %v0, 0, -1
81	vclfnl	%v0, %v0, 0, 16
82	vclfnl	%v0, %v0, -1, 0
83	vclfnl	%v0, %v0, 16, 0
84
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
93
94	vclfnh	%v0, %v0, 0, -1
95	vclfnh	%v0, %v0, 0, 16
96	vclfnh	%v0, %v0, -1, 0
97	vclfnh	%v0, %v0, 16, 0
98
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
107
108	vcnf	%v0, %v0, 0, -1
109	vcnf	%v0, %v0, 0, 16
110	vcnf	%v0, %v0, -1, 0
111	vcnf	%v0, %v0, 16, 0
112
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
121
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
126
127#CHECK: error: invalid operand
128#CHECK: vclzdp	%v0, %v0, -1
129#CHECK: error: invalid operand
130#CHECK: vclzdp	%v0, %v0, 16
131
132	vclzdp	%v0, %v0, -1
133	vclzdp	%v0, %v0, 16
134
135#CHECK: error: invalid operand
136#CHECK: vcsph	%v0, %v0, %v0, -1
137#CHECK: error: invalid operand
138#CHECK: vcsph	%v0, %v0, %v0, 16
139
140	vcsph	%v0, %v0, %v0, -1
141	vcsph	%v0, %v0, %v0, 16
142
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
151
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
156
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
165
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
170
171#CHECK: error: invalid operand
172#CHECK: vschsp	%v0, %v0, %v0, -1
173#CHECK: error: invalid operand
174#CHECK: vschsp	%v0, %v0, %v0, 16
175
176	vschsp	%v0, %v0, %v0, -1
177	vschsp	%v0, %v0, %v0, 16
178
179#CHECK: error: invalid operand
180#CHECK: vschdp	%v0, %v0, %v0, -1
181#CHECK: error: invalid operand
182#CHECK: vschdp	%v0, %v0, %v0, 16
183
184	vschdp	%v0, %v0, %v0, -1
185	vschdp	%v0, %v0, %v0, 16
186
187#CHECK: error: invalid operand
188#CHECK: vschxp	%v0, %v0, %v0, -1
189#CHECK: error: invalid operand
190#CHECK: vschxp	%v0, %v0, %v0, 16
191
192	vschxp	%v0, %v0, %v0, -1
193	vschxp	%v0, %v0, %v0, 16
194
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
203
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
208
209#CHECK: error: invalid operand
210#CHECK: vupkzh	%v0, %v0, -1
211#CHECK: error: invalid operand
212#CHECK: vupkzh	%v0, %v0, 16
213
214	vupkzh	%v0, %v0, -1
215	vupkzh	%v0, %v0, 16
216
217#CHECK: error: invalid operand
218#CHECK: vupkzl	%v0, %v0, -1
219#CHECK: error: invalid operand
220#CHECK: vupkzl	%v0, %v0, 16
221
222	vupkzl	%v0, %v0, -1
223	vupkzl	%v0, %v0, 16
224