1 # RUN: not llvm-mc -triple s390x-linux-gnu < %s 2> %t
2 # RUN: FileCheck < %t %s
6 #CHECK: error: invalid operand for instruction
8 #CHECK: error: invalid operand for instruction
10 #CHECK: error: invalid operand for instruction
12 #CHECK: error: invalid operand for instruction
14 #CHECK: error: invalid operand for instruction
16 #CHECK: error: invalid operand for instruction
28 #CHECK: error: invalid operand for instruction
30 #CHECK: error: invalid operand for instruction
32 #CHECK: error: invalid operand for instruction
34 #CHECK: error: invalid operand for instruction
36 #CHECK: error: invalid operand for instruction
38 #CHECK: error: invalid operand for instruction
39 #CHECK: lgr %r0,0(%r1)
50 #CHECK: error: invalid register pair
52 #CHECK: error: invalid register pair
54 #CHECK: error: invalid register pair
56 #CHECK: error: invalid register pair
58 #CHECK: error: invalid register pair
60 #CHECK: error: invalid register pair
62 #CHECK: error: invalid register pair
64 #CHECK: error: invalid register pair
66 #CHECK: error: invalid operand for instruction
68 #CHECK: error: invalid operand for instruction
70 #CHECK: error: invalid operand for instruction
72 #CHECK: error: invalid operand for instruction
74 #CHECK: error: invalid operand for instruction
76 #CHECK: error: invalid operand for instruction
77 #CHECK: dlr %r0,0(%r1)
96 #CHECK: error: invalid operand for instruction
98 #CHECK: error: invalid operand for instruction
100 #CHECK: error: invalid operand for instruction
102 #CHECK: error: invalid operand for instruction
104 #CHECK: error: invalid operand for instruction
106 #CHECK: error: invalid operand for instruction
107 #CHECK: ler %f0,0(%r1)
118 #CHECK: error: invalid operand for instruction
120 #CHECK: error: invalid operand for instruction
122 #CHECK: error: invalid operand for instruction
124 #CHECK: error: invalid operand for instruction
126 #CHECK: error: invalid operand for instruction
128 #CHECK: error: invalid operand for instruction
129 #CHECK: ldr %f0,0(%r1)
138 # Test FP128 operands
140 #CHECK: error: invalid register pair
142 #CHECK: error: invalid register pair
144 #CHECK: error: invalid register pair
146 #CHECK: error: invalid register pair
148 #CHECK: error: invalid register pair
150 #CHECK: error: invalid register pair
152 #CHECK: error: invalid register pair
154 #CHECK: error: invalid register pair
156 #CHECK: error: invalid operand for instruction
158 #CHECK: error: invalid operand for instruction
160 #CHECK: error: invalid operand for instruction
162 #CHECK: error: invalid operand for instruction
164 #CHECK: error: invalid operand for instruction
166 #CHECK: error: invalid operand for instruction
167 #CHECK: lxr %f0,0(%r1)
184 # Test access register operands
186 #CHECK: error: invalid operand for instruction
188 #CHECK: error: invalid operand for instruction
190 #CHECK: error: invalid operand for instruction
192 #CHECK: error: invalid operand for instruction
193 #CHECK: ear %r0,0(%r1)
202 # Test general register parsing, with no predetermined class in mind.
204 #CHECK: error: register expected
205 #CHECK: .cfi_offset r0,0
206 #CHECK: error: invalid register
207 #CHECK: .cfi_offset %,0
208 #CHECK: error: invalid register
209 #CHECK: .cfi_offset %r,0
210 #CHECK: error: invalid register
211 #CHECK: .cfi_offset %f,0
212 #CHECK: error: invalid register
213 #CHECK: .cfi_offset %a,0
214 #CHECK: error: invalid register
215 #CHECK: .cfi_offset %0,0
216 #CHECK: error: invalid register
217 #CHECK: .cfi_offset %c0,0
218 #CHECK: error: invalid register
219 #CHECK: .cfi_offset %r16,0
220 #CHECK: error: invalid register
221 #CHECK: .cfi_offset %f16,0
222 #CHECK: error: invalid register
223 #CHECK: .cfi_offset %a16,0
224 #CHECK: error: invalid register
225 #CHECK: .cfi_offset %reef,0
226 #CHECK: error: invalid register
227 #CHECK: .cfi_offset %arid,0
242 # Test invalid CFI registers. Will need to be updated once access
243 # registers are modelled as LLVM registers.
245 #CHECK: error: invalid operand for instruction
246 #CHECK: .cfi_offset %a0,0
252 #CHECK: error: %r0 used in an address
253 #CHECK: sll %r2,8(%r0)
254 #CHECK: error: %r0 used in an address
256 #CHECK: error: %r0 used in an address
258 #CHECK: error: %r0 used in an address
259 #CHECK: l %r1,8(%r0,%r15)
260 #CHECK: error: %r0 used in an address
261 #CHECK: l %r1,8(%r15,%r0)