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
29 #CHECK: error: invalid operand
31 #CHECK: error: invalid operand
32 #CHECK: loc %r0,-524289,1
33 #CHECK: error: invalid operand
34 #CHECK: loc %r0,524288,1
35 #CHECK: error: invalid use of indexed addressing
36 #CHECK: loc %r0,0(%r1,%r2),1
44 #CHECK: error: invalid operand
46 #CHECK: error: invalid operand
48 #CHECK: error: invalid operand
49 #CHECK: locg %r0,-524289,1
50 #CHECK: error: invalid operand
51 #CHECK: locg %r0,524288,1
52 #CHECK: error: invalid use of indexed addressing
53 #CHECK: locg %r0,0(%r1,%r2),1
61 #CHECK: error: invalid operand
62 #CHECK: locgr %r0,%r0,-1
63 #CHECK: error: invalid operand
64 #CHECK: locgr %r0,%r0,16
69 #CHECK: error: invalid operand
70 #CHECK: locr %r0,%r0,-1
71 #CHECK: error: invalid operand
72 #CHECK: locr %r0,%r0,16
77 #CHECK: error: invalid operand
78 #CHECK: risbhg %r0,%r0,0,0,-1
79 #CHECK: error: invalid operand
80 #CHECK: risbhg %r0,%r0,0,0,64
81 #CHECK: error: invalid operand
82 #CHECK: risbhg %r0,%r0,0,-1,0
83 #CHECK: error: invalid operand
84 #CHECK: risbhg %r0,%r0,0,256,0
85 #CHECK: error: invalid operand
86 #CHECK: risbhg %r0,%r0,-1,0,0
87 #CHECK: error: invalid operand
88 #CHECK: risbhg %r0,%r0,256,0,0
93 risbhg %r0,%r0,0,256,0
95 risbhg %r0,%r0,256,0,0
97 #CHECK: error: invalid operand
98 #CHECK: risblg %r0,%r0,0,0,-1
99 #CHECK: error: invalid operand
100 #CHECK: risblg %r0,%r0,0,0,64
101 #CHECK: error: invalid operand
102 #CHECK: risblg %r0,%r0,0,-1,0
103 #CHECK: error: invalid operand
104 #CHECK: risblg %r0,%r0,0,256,0
105 #CHECK: error: invalid operand
106 #CHECK: risblg %r0,%r0,-1,0,0
107 #CHECK: error: invalid operand
108 #CHECK: risblg %r0,%r0,256,0,0
110 risblg %r0,%r0,0,0,-1
111 risblg %r0,%r0,0,0,64
112 risblg %r0,%r0,0,-1,0
113 risblg %r0,%r0,0,256,0
114 risblg %r0,%r0,-1,0,0
115 risblg %r0,%r0,256,0,0
117 #CHECK: error: invalid operand
118 #CHECK: sllk %r0,%r0,-524289
119 #CHECK: error: invalid operand
120 #CHECK: sllk %r0,%r0,524288
121 #CHECK: error: %r0 used in an address
122 #CHECK: sllk %r0,%r0,0(%r0)
123 #CHECK: error: invalid use of indexed addressing
124 #CHECK: sllk %r0,%r0,0(%r1,%r2)
129 sllk %r0,%r0,0(%r1,%r2)
131 #CHECK: error: invalid operand
132 #CHECK: srak %r0,%r0,-524289
133 #CHECK: error: invalid operand
134 #CHECK: srak %r0,%r0,524288
135 #CHECK: error: %r0 used in an address
136 #CHECK: srak %r0,%r0,0(%r0)
137 #CHECK: error: invalid use of indexed addressing
138 #CHECK: srak %r0,%r0,0(%r1,%r2)
143 srak %r0,%r0,0(%r1,%r2)
145 #CHECK: error: invalid operand
146 #CHECK: srlk %r0,%r0,-524289
147 #CHECK: error: invalid operand
148 #CHECK: srlk %r0,%r0,524288
149 #CHECK: error: %r0 used in an address
150 #CHECK: srlk %r0,%r0,0(%r0)
151 #CHECK: error: invalid use of indexed addressing
152 #CHECK: srlk %r0,%r0,0(%r1,%r2)
157 srlk %r0,%r0,0(%r1,%r2)
159 #CHECK: error: invalid operand
160 #CHECK: stoc %r0,0,-1
161 #CHECK: error: invalid operand
162 #CHECK: stoc %r0,0,16
163 #CHECK: error: invalid operand
164 #CHECK: stoc %r0,-524289,1
165 #CHECK: error: invalid operand
166 #CHECK: stoc %r0,524288,1
167 #CHECK: error: invalid use of indexed addressing
168 #CHECK: stoc %r0,0(%r1,%r2),1
174 stoc %r0,0(%r1,%r2),1
176 #CHECK: error: invalid operand
177 #CHECK: stocg %r0,0,-1
178 #CHECK: error: invalid operand
179 #CHECK: stocg %r0,0,16
180 #CHECK: error: invalid operand
181 #CHECK: stocg %r0,-524289,1
182 #CHECK: error: invalid operand
183 #CHECK: stocg %r0,524288,1
184 #CHECK: error: invalid use of indexed addressing
185 #CHECK: stocg %r0,0(%r1,%r2),1
191 stocg %r0,0(%r1,%r2),1