[SystemZ] Add ARK, AGRK, SRK and SGRK
[oota-llvm.git] / test / MC / SystemZ / insn-good-z196.s
1 # For z196 and above.
2 # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=z196 -show-encoding %s | FileCheck %s
3
4 #CHECK: agrk    %r0, %r0, %r0           # encoding: [0xb9,0xe8,0x00,0x00]
5 #CHECK: agrk    %r0, %r0, %r15          # encoding: [0xb9,0xe8,0xf0,0x00]
6 #CHECK: agrk    %r0, %r15, %r0          # encoding: [0xb9,0xe8,0x00,0x0f]
7 #CHECK: agrk    %r15, %r0, %r0          # encoding: [0xb9,0xe8,0x00,0xf0]
8 #CHECK: agrk    %r7, %r8, %r9           # encoding: [0xb9,0xe8,0x90,0x78]
9
10         agrk    %r0,%r0,%r0
11         agrk    %r0,%r0,%r15
12         agrk    %r0,%r15,%r0
13         agrk    %r15,%r0,%r0
14         agrk    %r7,%r8,%r9
15
16 #CHECK: ark     %r0, %r0, %r0           # encoding: [0xb9,0xf8,0x00,0x00]
17 #CHECK: ark     %r0, %r0, %r15          # encoding: [0xb9,0xf8,0xf0,0x00]
18 #CHECK: ark     %r0, %r15, %r0          # encoding: [0xb9,0xf8,0x00,0x0f]
19 #CHECK: ark     %r15, %r0, %r0          # encoding: [0xb9,0xf8,0x00,0xf0]
20 #CHECK: ark     %r7, %r8, %r9           # encoding: [0xb9,0xf8,0x90,0x78]
21
22         ark     %r0,%r0,%r0
23         ark     %r0,%r0,%r15
24         ark     %r0,%r15,%r0
25         ark     %r15,%r0,%r0
26         ark     %r7,%r8,%r9
27
28 #CHECK: ngrk    %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
29 #CHECK: ngrk    %r0, %r0, %r15          # encoding: [0xb9,0xe4,0xf0,0x00]
30 #CHECK: ngrk    %r0, %r15, %r0          # encoding: [0xb9,0xe4,0x00,0x0f]
31 #CHECK: ngrk    %r15, %r0, %r0          # encoding: [0xb9,0xe4,0x00,0xf0]
32 #CHECK: ngrk    %r7, %r8, %r9           # encoding: [0xb9,0xe4,0x90,0x78]
33
34         ngrk    %r0,%r0,%r0
35         ngrk    %r0,%r0,%r15
36         ngrk    %r0,%r15,%r0
37         ngrk    %r15,%r0,%r0
38         ngrk    %r7,%r8,%r9
39
40 #CHECK: nrk     %r0, %r0, %r0           # encoding: [0xb9,0xf4,0x00,0x00]
41 #CHECK: nrk     %r0, %r0, %r15          # encoding: [0xb9,0xf4,0xf0,0x00]
42 #CHECK: nrk     %r0, %r15, %r0          # encoding: [0xb9,0xf4,0x00,0x0f]
43 #CHECK: nrk     %r15, %r0, %r0          # encoding: [0xb9,0xf4,0x00,0xf0]
44 #CHECK: nrk     %r7, %r8, %r9           # encoding: [0xb9,0xf4,0x90,0x78]
45
46         nrk     %r0,%r0,%r0
47         nrk     %r0,%r0,%r15
48         nrk     %r0,%r15,%r0
49         nrk     %r15,%r0,%r0
50         nrk     %r7,%r8,%r9
51
52 #CHECK: ogrk    %r0, %r0, %r0           # encoding: [0xb9,0xe6,0x00,0x00]
53 #CHECK: ogrk    %r0, %r0, %r15          # encoding: [0xb9,0xe6,0xf0,0x00]
54 #CHECK: ogrk    %r0, %r15, %r0          # encoding: [0xb9,0xe6,0x00,0x0f]
55 #CHECK: ogrk    %r15, %r0, %r0          # encoding: [0xb9,0xe6,0x00,0xf0]
56 #CHECK: ogrk    %r7, %r8, %r9           # encoding: [0xb9,0xe6,0x90,0x78]
57
58         ogrk    %r0,%r0,%r0
59         ogrk    %r0,%r0,%r15
60         ogrk    %r0,%r15,%r0
61         ogrk    %r15,%r0,%r0
62         ogrk    %r7,%r8,%r9
63
64 #CHECK: ork     %r0, %r0, %r0           # encoding: [0xb9,0xf6,0x00,0x00]
65 #CHECK: ork     %r0, %r0, %r15          # encoding: [0xb9,0xf6,0xf0,0x00]
66 #CHECK: ork     %r0, %r15, %r0          # encoding: [0xb9,0xf6,0x00,0x0f]
67 #CHECK: ork     %r15, %r0, %r0          # encoding: [0xb9,0xf6,0x00,0xf0]
68 #CHECK: ork     %r7, %r8, %r9           # encoding: [0xb9,0xf6,0x90,0x78]
69
70         ork     %r0,%r0,%r0
71         ork     %r0,%r0,%r15
72         ork     %r0,%r15,%r0
73         ork     %r15,%r0,%r0
74         ork     %r7,%r8,%r9
75
76 #CHECK: sgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe9,0x00,0x00]
77 #CHECK: sgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe9,0xf0,0x00]
78 #CHECK: sgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe9,0x00,0x0f]
79 #CHECK: sgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe9,0x00,0xf0]
80 #CHECK: sgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe9,0x90,0x78]
81
82         sgrk    %r0,%r0,%r0
83         sgrk    %r0,%r0,%r15
84         sgrk    %r0,%r15,%r0
85         sgrk    %r15,%r0,%r0
86         sgrk    %r7,%r8,%r9
87
88 #CHECK: sllk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdf]
89 #CHECK: sllk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdf]
90 #CHECK: sllk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdf]
91 #CHECK: sllk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdf]
92 #CHECK: sllk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdf]
93 #CHECK: sllk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdf]
94 #CHECK: sllk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdf]
95 #CHECK: sllk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdf]
96 #CHECK: sllk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdf]
97 #CHECK: sllk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdf]
98 #CHECK: sllk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdf]
99 #CHECK: sllk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdf]
100
101         sllk    %r0,%r0,0
102         sllk    %r15,%r1,0
103         sllk    %r1,%r15,0
104         sllk    %r15,%r15,0
105         sllk    %r0,%r0,-524288
106         sllk    %r0,%r0,-1
107         sllk    %r0,%r0,1
108         sllk    %r0,%r0,524287
109         sllk    %r0,%r0,0(%r1)
110         sllk    %r0,%r0,0(%r15)
111         sllk    %r0,%r0,524287(%r1)
112         sllk    %r0,%r0,524287(%r15)
113
114 #CHECK: srak    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdc]
115 #CHECK: srak    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdc]
116 #CHECK: srak    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdc]
117 #CHECK: srak    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdc]
118 #CHECK: srak    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdc]
119 #CHECK: srak    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdc]
120 #CHECK: srak    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdc]
121 #CHECK: srak    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdc]
122 #CHECK: srak    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdc]
123 #CHECK: srak    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdc]
124 #CHECK: srak    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdc]
125 #CHECK: srak    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdc]
126
127         srak    %r0,%r0,0
128         srak    %r15,%r1,0
129         srak    %r1,%r15,0
130         srak    %r15,%r15,0
131         srak    %r0,%r0,-524288
132         srak    %r0,%r0,-1
133         srak    %r0,%r0,1
134         srak    %r0,%r0,524287
135         srak    %r0,%r0,0(%r1)
136         srak    %r0,%r0,0(%r15)
137         srak    %r0,%r0,524287(%r1)
138         srak    %r0,%r0,524287(%r15)
139
140 #CHECK: srk     %r0, %r0, %r0           # encoding: [0xb9,0xf9,0x00,0x00]
141 #CHECK: srk     %r0, %r0, %r15          # encoding: [0xb9,0xf9,0xf0,0x00]
142 #CHECK: srk     %r0, %r15, %r0          # encoding: [0xb9,0xf9,0x00,0x0f]
143 #CHECK: srk     %r15, %r0, %r0          # encoding: [0xb9,0xf9,0x00,0xf0]
144 #CHECK: srk     %r7, %r8, %r9           # encoding: [0xb9,0xf9,0x90,0x78]
145
146         srk     %r0,%r0,%r0
147         srk     %r0,%r0,%r15
148         srk     %r0,%r15,%r0
149         srk     %r15,%r0,%r0
150         srk     %r7,%r8,%r9
151
152 #CHECK: srlk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xde]
153 #CHECK: srlk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xde]
154 #CHECK: srlk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xde]
155 #CHECK: srlk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xde]
156 #CHECK: srlk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xde]
157 #CHECK: srlk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xde]
158 #CHECK: srlk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xde]
159 #CHECK: srlk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xde]
160 #CHECK: srlk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xde]
161 #CHECK: srlk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xde]
162 #CHECK: srlk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xde]
163 #CHECK: srlk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xde]
164
165         srlk    %r0,%r0,0
166         srlk    %r15,%r1,0
167         srlk    %r1,%r15,0
168         srlk    %r15,%r15,0
169         srlk    %r0,%r0,-524288
170         srlk    %r0,%r0,-1
171         srlk    %r0,%r0,1
172         srlk    %r0,%r0,524287
173         srlk    %r0,%r0,0(%r1)
174         srlk    %r0,%r0,0(%r15)
175         srlk    %r0,%r0,524287(%r1)
176         srlk    %r0,%r0,524287(%r15)
177
178 #CHECK: xgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
179 #CHECK: xgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe7,0xf0,0x00]
180 #CHECK: xgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe7,0x00,0x0f]
181 #CHECK: xgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe7,0x00,0xf0]
182 #CHECK: xgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe7,0x90,0x78]
183
184         xgrk    %r0,%r0,%r0
185         xgrk    %r0,%r0,%r15
186         xgrk    %r0,%r15,%r0
187         xgrk    %r15,%r0,%r0
188         xgrk    %r7,%r8,%r9
189
190 #CHECK: xrk     %r0, %r0, %r0           # encoding: [0xb9,0xf7,0x00,0x00]
191 #CHECK: xrk     %r0, %r0, %r15          # encoding: [0xb9,0xf7,0xf0,0x00]
192 #CHECK: xrk     %r0, %r15, %r0          # encoding: [0xb9,0xf7,0x00,0x0f]
193 #CHECK: xrk     %r15, %r0, %r0          # encoding: [0xb9,0xf7,0x00,0xf0]
194 #CHECK: xrk     %r7, %r8, %r9           # encoding: [0xb9,0xf7,0x90,0x78]
195
196         xrk     %r0,%r0,%r0
197         xrk     %r0,%r0,%r15
198         xrk     %r0,%r15,%r0
199         xrk     %r15,%r0,%r0
200         xrk     %r7,%r8,%r9