xref: /llvm-project/llvm/test/MC/SystemZ/regs-good.s (revision ebc7f5578033248ce7de52a7f374332a2fc201aa)
1# RUN: llvm-mc -triple s390x-linux-gnu -show-encoding %s | FileCheck %s
2
3#CHECK: lr	%r0, %r1                # encoding: [0x18,0x01]
4#CHECK: lr	%r2, %r3                # encoding: [0x18,0x23]
5#CHECK: lr	%r4, %r5                # encoding: [0x18,0x45]
6#CHECK: lr	%r6, %r7                # encoding: [0x18,0x67]
7#CHECK: lr	%r8, %r9                # encoding: [0x18,0x89]
8#CHECK: lr	%r10, %r11              # encoding: [0x18,0xab]
9#CHECK: lr	%r12, %r13              # encoding: [0x18,0xcd]
10#CHECK: lr	%r14, %r15              # encoding: [0x18,0xef]
11#CHECK: lr	%r0, %r15               # encoding: [0x18,0x0f]
12
13	lr	%r0,%r1
14	lr	%r2,%r3
15	lr	%r4,%r5
16	lr	%r6,%r7
17	lr	%r8,%r9
18	lr	%r10,%r11
19	lr	%r12,%r13
20	lr	%r14,%r15
21	lr	0,15
22
23#CHECK: lgr	%r0, %r1                # encoding: [0xb9,0x04,0x00,0x01]
24#CHECK: lgr	%r2, %r3                # encoding: [0xb9,0x04,0x00,0x23]
25#CHECK: lgr	%r4, %r5                # encoding: [0xb9,0x04,0x00,0x45]
26#CHECK: lgr	%r6, %r7                # encoding: [0xb9,0x04,0x00,0x67]
27#CHECK: lgr	%r8, %r9                # encoding: [0xb9,0x04,0x00,0x89]
28#CHECK: lgr	%r10, %r11              # encoding: [0xb9,0x04,0x00,0xab]
29#CHECK: lgr	%r12, %r13              # encoding: [0xb9,0x04,0x00,0xcd]
30#CHECK: lgr	%r14, %r15              # encoding: [0xb9,0x04,0x00,0xef]
31#CHECK: lgr	%r0, %r15               # encoding: [0xb9,0x04,0x00,0x0f]
32
33	lgr	%r0,%r1
34	lgr	%r2,%r3
35	lgr	%r4,%r5
36	lgr	%r6,%r7
37	lgr	%r8,%r9
38	lgr	%r10,%r11
39	lgr	%r12,%r13
40	lgr	%r14,%r15
41	lgr	0,15
42
43#CHECK: dlr	%r0, %r0                # encoding: [0xb9,0x97,0x00,0x00]
44#CHECK: dlr	%r2, %r0                # encoding: [0xb9,0x97,0x00,0x20]
45#CHECK: dlr	%r4, %r0                # encoding: [0xb9,0x97,0x00,0x40]
46#CHECK: dlr	%r6, %r0                # encoding: [0xb9,0x97,0x00,0x60]
47#CHECK: dlr	%r8, %r0                # encoding: [0xb9,0x97,0x00,0x80]
48#CHECK: dlr	%r10, %r0               # encoding: [0xb9,0x97,0x00,0xa0]
49#CHECK: dlr	%r12, %r0               # encoding: [0xb9,0x97,0x00,0xc0]
50#CHECK: dlr	%r14, %r0               # encoding: [0xb9,0x97,0x00,0xe0]
51#CHECK: dlr	%r14, %r0               # encoding: [0xb9,0x97,0x00,0xe0]
52
53	dlr	%r0,%r0
54	dlr	%r2,%r0
55	dlr	%r4,%r0
56	dlr	%r6,%r0
57	dlr	%r8,%r0
58	dlr	%r10,%r0
59	dlr	%r12,%r0
60	dlr	%r14,%r0
61	dlr	14,0
62
63#CHECK: ler	%f0, %f1                # encoding: [0x38,0x01]
64#CHECK: ler	%f2, %f3                # encoding: [0x38,0x23]
65#CHECK: ler	%f4, %f5                # encoding: [0x38,0x45]
66#CHECK: ler	%f6, %f7                # encoding: [0x38,0x67]
67#CHECK: ler	%f8, %f9                # encoding: [0x38,0x89]
68#CHECK: ler	%f10, %f11              # encoding: [0x38,0xab]
69#CHECK: ler	%f12, %f13              # encoding: [0x38,0xcd]
70#CHECK: ler	%f14, %f15              # encoding: [0x38,0xef]
71#CHECK: ler	%f0, %f15               # encoding: [0x38,0x0f]
72
73	ler	%f0,%f1
74	ler	%f2,%f3
75	ler	%f4,%f5
76	ler	%f6,%f7
77	ler	%f8,%f9
78	ler	%f10,%f11
79	ler	%f12,%f13
80	ler	%f14,%f15
81	ler	0,15
82
83#CHECK: ldr	%f0, %f1                # encoding: [0x28,0x01]
84#CHECK: ldr	%f2, %f3                # encoding: [0x28,0x23]
85#CHECK: ldr	%f4, %f5                # encoding: [0x28,0x45]
86#CHECK: ldr	%f6, %f7                # encoding: [0x28,0x67]
87#CHECK: ldr	%f8, %f9                # encoding: [0x28,0x89]
88#CHECK: ldr	%f10, %f11              # encoding: [0x28,0xab]
89#CHECK: ldr	%f12, %f13              # encoding: [0x28,0xcd]
90#CHECK: ldr	%f14, %f15              # encoding: [0x28,0xef]
91#CHECK: ldr	%f0, %f15               # encoding: [0x28,0x0f]
92
93	ldr	%f0,%f1
94	ldr	%f2,%f3
95	ldr	%f4,%f5
96	ldr	%f6,%f7
97	ldr	%f8,%f9
98	ldr	%f10,%f11
99	ldr	%f12,%f13
100	ldr	%f14,%f15
101	ldr	0,15
102
103#CHECK: lxr	%f0, %f1                # encoding: [0xb3,0x65,0x00,0x01]
104#CHECK: lxr	%f4, %f5                # encoding: [0xb3,0x65,0x00,0x45]
105#CHECK: lxr	%f8, %f9                # encoding: [0xb3,0x65,0x00,0x89]
106#CHECK: lxr	%f12, %f13              # encoding: [0xb3,0x65,0x00,0xcd]
107#CHECK: lxr	%f0, %f13               # encoding: [0xb3,0x65,0x00,0x0d]
108
109	lxr	%f0,%f1
110	lxr	%f4,%f5
111	lxr	%f8,%f9
112	lxr	%f12,%f13
113	lxr	0,13
114
115#CHECK: cpya	%a0, %a1                # encoding: [0xb2,0x4d,0x00,0x01]
116#CHECK: cpya	%a2, %a3                # encoding: [0xb2,0x4d,0x00,0x23]
117#CHECK: cpya	%a4, %a5                # encoding: [0xb2,0x4d,0x00,0x45]
118#CHECK: cpya	%a6, %a7                # encoding: [0xb2,0x4d,0x00,0x67]
119#CHECK: cpya	%a8, %a9                # encoding: [0xb2,0x4d,0x00,0x89]
120#CHECK: cpya	%a10, %a11              # encoding: [0xb2,0x4d,0x00,0xab]
121#CHECK: cpya	%a12, %a13              # encoding: [0xb2,0x4d,0x00,0xcd]
122#CHECK: cpya	%a14, %a15              # encoding: [0xb2,0x4d,0x00,0xef]
123#CHECK: cpya	%a0, %a15               # encoding: [0xb2,0x4d,0x00,0x0f]
124
125	cpya	%a0,%a1
126	cpya	%a2,%a3
127	cpya	%a4,%a5
128	cpya	%a6,%a7
129	cpya	%a8,%a9
130	cpya	%a10,%a11
131	cpya	%a12,%a13
132	cpya	%a14,%a15
133	cpya	0,15
134
135#CHECK: lctl	%c0, %c1, 0             # encoding: [0xb7,0x01,0x00,0x00]
136#CHECK: lctl	%c2, %c3, 0             # encoding: [0xb7,0x23,0x00,0x00]
137#CHECK: lctl	%c4, %c5, 0             # encoding: [0xb7,0x45,0x00,0x00]
138#CHECK: lctl	%c6, %c7, 0             # encoding: [0xb7,0x67,0x00,0x00]
139#CHECK: lctl	%c8, %c9, 0             # encoding: [0xb7,0x89,0x00,0x00]
140#CHECK: lctl	%c10, %c11, 0           # encoding: [0xb7,0xab,0x00,0x00]
141#CHECK: lctl	%c12, %c13, 0           # encoding: [0xb7,0xcd,0x00,0x00]
142#CHECK: lctl	%c14, %c15, 0           # encoding: [0xb7,0xef,0x00,0x00]
143#CHECK: lctl	%c0, %c15, 0            # encoding: [0xb7,0x0f,0x00,0x00]
144
145	lctl	%c0,%c1,0
146	lctl	%c2,%c3,0
147	lctl	%c4,%c5,0
148	lctl	%c6,%c7,0
149	lctl	%c8,%c9,0
150	lctl	%c10,%c11,0
151	lctl	%c12,%c13,0
152	lctl	%c14,%c15,0
153	lctl	0,15,0
154
155#CHECK: st	%r0, 0                  # encoding: [0x50,0x00,0x00,0x00]
156#CHECK: st	%r0, 4095               # encoding: [0x50,0x00,0x0f,0xff]
157#CHECK: st	%r0, 0(%r1)             # encoding: [0x50,0x00,0x10,0x00]
158#CHECK: st	%r0, 0(%r15)            # encoding: [0x50,0x00,0xf0,0x00]
159#CHECK: st	%r0, 4095(%r1,%r15)     # encoding: [0x50,0x01,0xff,0xff]
160#CHECK: st	%r0, 4095(%r15,%r1)     # encoding: [0x50,0x0f,0x1f,0xff]
161#CHECK: st	%r15, 0                 # encoding: [0x50,0xf0,0x00,0x00]
162#CHECK: st	%r0, 0(%r1)             # encoding: [0x50,0x00,0x10,0x00]
163#CHECK: st	%r0, 0(%r15)            # encoding: [0x50,0x00,0xf0,0x00]
164#CHECK: st	%r0, 4095(%r1,%r15)     # encoding: [0x50,0x01,0xff,0xff]
165#CHECK: st	%r0, 4095(%r15,%r1)     # encoding: [0x50,0x0f,0x1f,0xff]
166
167	st	%r0, 0
168	st	%r0, 4095
169	st	%r0, 0(%r1)
170	st	%r0, 0(%r15)
171	st	%r0, 4095(%r1,%r15)
172	st	%r0, 4095(%r15,%r1)
173	st	%r15, 0
174	st	0, 0(1)
175	st	0, 0(15)
176	st	0, 4095(1,15)
177	st	0, 4095(15,1)
178
179#CHECK: .cfi_offset %r0, 0
180#CHECK: .cfi_offset %r1, 8
181#CHECK: .cfi_offset %r2, 16
182#CHECK: .cfi_offset %r3, 24
183#CHECK: .cfi_offset %r4, 32
184#CHECK: .cfi_offset %r5, 40
185#CHECK: .cfi_offset %r6, 48
186#CHECK: .cfi_offset %r7, 56
187#CHECK: .cfi_offset %r8, 64
188#CHECK: .cfi_offset %r9, 72
189#CHECK: .cfi_offset %r10, 80
190#CHECK: .cfi_offset %r11, 88
191#CHECK: .cfi_offset %r12, 96
192#CHECK: .cfi_offset %r13, 104
193#CHECK: .cfi_offset %r14, 112
194#CHECK: .cfi_offset %r15, 120
195#CHECK: .cfi_offset %f0, 128
196#CHECK: .cfi_offset %f1, 136
197#CHECK: .cfi_offset %f2, 144
198#CHECK: .cfi_offset %f3, 152
199#CHECK: .cfi_offset %f4, 160
200#CHECK: .cfi_offset %f5, 168
201#CHECK: .cfi_offset %f6, 176
202#CHECK: .cfi_offset %f7, 184
203#CHECK: .cfi_offset %f8, 192
204#CHECK: .cfi_offset %f9, 200
205#CHECK: .cfi_offset %f10, 208
206#CHECK: .cfi_offset %f11, 216
207#CHECK: .cfi_offset %f12, 224
208#CHECK: .cfi_offset %f13, 232
209#CHECK: .cfi_offset %f14, 240
210#CHECK: .cfi_offset %f15, 248
211#CHECK: .cfi_offset %a0, 256
212#CHECK: .cfi_offset %a1, 260
213#CHECK: .cfi_offset %a2, 264
214#CHECK: .cfi_offset %a3, 268
215#CHECK: .cfi_offset %a4, 272
216#CHECK: .cfi_offset %a5, 276
217#CHECK: .cfi_offset %a6, 280
218#CHECK: .cfi_offset %a7, 284
219#CHECK: .cfi_offset %a8, 288
220#CHECK: .cfi_offset %r9, 292
221#CHECK: .cfi_offset %a10, 296
222#CHECK: .cfi_offset %a11, 300
223#CHECK: .cfi_offset %a12, 304
224#CHECK: .cfi_offset %a13, 308
225#CHECK: .cfi_offset %a14, 312
226#CHECK: .cfi_offset %a15, 316
227#CHECK: .cfi_offset %c0, 318
228#CHECK: .cfi_offset %c1, 326
229#CHECK: .cfi_offset %c2, 334
230#CHECK: .cfi_offset %c3, 342
231#CHECK: .cfi_offset %c4, 350
232#CHECK: .cfi_offset %c5, 358
233#CHECK: .cfi_offset %c6, 366
234#CHECK: .cfi_offset %c7, 374
235#CHECK: .cfi_offset %c8, 382
236#CHECK: .cfi_offset %c9, 390
237#CHECK: .cfi_offset %c10, 398
238#CHECK: .cfi_offset %c11, 406
239#CHECK: .cfi_offset %c12, 414
240#CHECK: .cfi_offset %c13, 422
241#CHECK: .cfi_offset %c14, 430
242#CHECK: .cfi_offset %c15, 438
243#CHECK: .cfi_offset %r0, 0
244#CHECK: .cfi_offset %r1, 8
245#CHECK: .cfi_offset %r2, 16
246#CHECK: .cfi_offset %r3, 24
247#CHECK: .cfi_offset %r4, 32
248#CHECK: .cfi_offset %r5, 40
249#CHECK: .cfi_offset %r6, 48
250#CHECK: .cfi_offset %r7, 56
251#CHECK: .cfi_offset %r8, 64
252#CHECK: .cfi_offset %r9, 72
253#CHECK: .cfi_offset %r10, 80
254#CHECK: .cfi_offset %r11, 88
255#CHECK: .cfi_offset %r12, 96
256#CHECK: .cfi_offset %r13, 104
257#CHECK: .cfi_offset %r14, 112
258#CHECK: .cfi_offset %r15, 120
259#CHECK: .cfi_offset %f0, 128
260#CHECK: .cfi_offset %f1, 136
261#CHECK: .cfi_offset %f2, 144
262#CHECK: .cfi_offset %f3, 152
263#CHECK: .cfi_offset %f4, 160
264#CHECK: .cfi_offset %f5, 168
265#CHECK: .cfi_offset %f6, 176
266#CHECK: .cfi_offset %f7, 184
267#CHECK: .cfi_offset %f8, 192
268#CHECK: .cfi_offset %f9, 200
269#CHECK: .cfi_offset %f10, 208
270#CHECK: .cfi_offset %f11, 216
271#CHECK: .cfi_offset %f12, 224
272#CHECK: .cfi_offset %f13, 232
273#CHECK: .cfi_offset %f14, 240
274#CHECK: .cfi_offset %f15, 248
275#CHECK: .cfi_offset %a0, 256
276#CHECK: .cfi_offset %a1, 260
277#CHECK: .cfi_offset %a2, 264
278#CHECK: .cfi_offset %a3, 268
279#CHECK: .cfi_offset %a4, 272
280#CHECK: .cfi_offset %a5, 276
281#CHECK: .cfi_offset %a6, 280
282#CHECK: .cfi_offset %a7, 284
283#CHECK: .cfi_offset %a8, 288
284#CHECK: .cfi_offset %r9, 292
285#CHECK: .cfi_offset %a10, 296
286#CHECK: .cfi_offset %a11, 300
287#CHECK: .cfi_offset %a12, 304
288#CHECK: .cfi_offset %a13, 308
289#CHECK: .cfi_offset %a14, 312
290#CHECK: .cfi_offset %a15, 316
291#CHECK: .cfi_offset %c0, 318
292#CHECK: .cfi_offset %c1, 326
293#CHECK: .cfi_offset %c2, 334
294#CHECK: .cfi_offset %c3, 342
295#CHECK: .cfi_offset %c4, 350
296#CHECK: .cfi_offset %c5, 358
297#CHECK: .cfi_offset %c6, 366
298#CHECK: .cfi_offset %c7, 374
299#CHECK: .cfi_offset %c8, 382
300#CHECK: .cfi_offset %c9, 390
301#CHECK: .cfi_offset %c10, 398
302#CHECK: .cfi_offset %c11, 406
303#CHECK: .cfi_offset %c12, 414
304#CHECK: .cfi_offset %c13, 422
305#CHECK: .cfi_offset %c14, 430
306#CHECK: .cfi_offset %c15, 438
307
308	.cfi_startproc
309	.cfi_offset %r0,0
310	.cfi_offset %r1,8
311	.cfi_offset %r2,16
312	.cfi_offset %r3,24
313	.cfi_offset %r4,32
314	.cfi_offset %r5,40
315	.cfi_offset %r6,48
316	.cfi_offset %r7,56
317	.cfi_offset %r8,64
318	.cfi_offset %r9,72
319	.cfi_offset %r10,80
320	.cfi_offset %r11,88
321	.cfi_offset %r12,96
322	.cfi_offset %r13,104
323	.cfi_offset %r14,112
324	.cfi_offset %r15,120
325	.cfi_offset %f0,128
326	.cfi_offset %f1,136
327	.cfi_offset %f2,144
328	.cfi_offset %f3,152
329	.cfi_offset %f4,160
330	.cfi_offset %f5,168
331	.cfi_offset %f6,176
332	.cfi_offset %f7,184
333	.cfi_offset %f8,192
334	.cfi_offset %f9,200
335	.cfi_offset %f10,208
336	.cfi_offset %f11,216
337	.cfi_offset %f12,224
338	.cfi_offset %f13,232
339	.cfi_offset %f14,240
340	.cfi_offset %f15,248
341	.cfi_offset %a0,256
342	.cfi_offset %a1,260
343	.cfi_offset %a2,264
344	.cfi_offset %a3,268
345	.cfi_offset %a4,272
346	.cfi_offset %a5,276
347	.cfi_offset %a6,280
348	.cfi_offset %a7,284
349	.cfi_offset %a8,288
350	.cfi_offset %r9,292
351	.cfi_offset %a10,296
352	.cfi_offset %a11,300
353	.cfi_offset %a12,304
354	.cfi_offset %a13,308
355	.cfi_offset %a14,312
356	.cfi_offset %a15,316
357	.cfi_offset %c0,318
358	.cfi_offset %c1,326
359	.cfi_offset %c2,334
360	.cfi_offset %c3,342
361	.cfi_offset %c4,350
362	.cfi_offset %c5,358
363	.cfi_offset %c6,366
364	.cfi_offset %c7,374
365	.cfi_offset %c8,382
366	.cfi_offset %c9,390
367	.cfi_offset %c10,398
368	.cfi_offset %c11,406
369	.cfi_offset %c12,414
370	.cfi_offset %c13,422
371	.cfi_offset %c14,430
372	.cfi_offset %c15,438
373	.cfi_offset r0,0
374	.cfi_offset r1,8
375	.cfi_offset r2,16
376	.cfi_offset r3,24
377	.cfi_offset r4,32
378	.cfi_offset r5,40
379	.cfi_offset r6,48
380	.cfi_offset r7,56
381	.cfi_offset r8,64
382	.cfi_offset r9,72
383	.cfi_offset r10,80
384	.cfi_offset r11,88
385	.cfi_offset r12,96
386	.cfi_offset r13,104
387	.cfi_offset r14,112
388	.cfi_offset r15,120
389	.cfi_offset f0,128
390	.cfi_offset f1,136
391	.cfi_offset f2,144
392	.cfi_offset f3,152
393	.cfi_offset f4,160
394	.cfi_offset f5,168
395	.cfi_offset f6,176
396	.cfi_offset f7,184
397	.cfi_offset f8,192
398	.cfi_offset f9,200
399	.cfi_offset f10,208
400	.cfi_offset f11,216
401	.cfi_offset f12,224
402	.cfi_offset f13,232
403	.cfi_offset f14,240
404	.cfi_offset f15,248
405	.cfi_offset a0,256
406	.cfi_offset a1,260
407	.cfi_offset a2,264
408	.cfi_offset a3,268
409	.cfi_offset a4,272
410	.cfi_offset a5,276
411	.cfi_offset a6,280
412	.cfi_offset a7,284
413	.cfi_offset a8,288
414	.cfi_offset r9,292
415	.cfi_offset a10,296
416	.cfi_offset a11,300
417	.cfi_offset a12,304
418	.cfi_offset a13,308
419	.cfi_offset a14,312
420	.cfi_offset a15,316
421	.cfi_offset c0,318
422	.cfi_offset c1,326
423	.cfi_offset c2,334
424	.cfi_offset c3,342
425	.cfi_offset c4,350
426	.cfi_offset c5,358
427	.cfi_offset c6,366
428	.cfi_offset c7,374
429	.cfi_offset c8,382
430	.cfi_offset c9,390
431	.cfi_offset c10,398
432	.cfi_offset c11,406
433	.cfi_offset c12,414
434	.cfi_offset c13,422
435	.cfi_offset c14,430
436	.cfi_offset c15,438
437	.cfi_endproc
438