[SystemZ] Add LOC and LOCG
[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: aghik   %r0, %r0, -32768        # encoding: [0xec,0x00,0x80,0x00,0x00,0xd9]
5 #CHECK: aghik   %r0, %r0, -1            # encoding: [0xec,0x00,0xff,0xff,0x00,0xd9]
6 #CHECK: aghik   %r0, %r0, 0             # encoding: [0xec,0x00,0x00,0x00,0x00,0xd9]
7 #CHECK: aghik   %r0, %r0, 1             # encoding: [0xec,0x00,0x00,0x01,0x00,0xd9]
8 #CHECK: aghik   %r0, %r0, 32767         # encoding: [0xec,0x00,0x7f,0xff,0x00,0xd9]
9 #CHECK: aghik   %r0, %r15, 0            # encoding: [0xec,0x0f,0x00,0x00,0x00,0xd9]
10 #CHECK: aghik   %r15, %r0, 0            # encoding: [0xec,0xf0,0x00,0x00,0x00,0xd9]
11 #CHECK: aghik   %r7, %r8, -16           # encoding: [0xec,0x78,0xff,0xf0,0x00,0xd9]
12
13         aghik   %r0, %r0, -32768
14         aghik   %r0, %r0, -1
15         aghik   %r0, %r0, 0
16         aghik   %r0, %r0, 1
17         aghik   %r0, %r0, 32767
18         aghik   %r0, %r15, 0
19         aghik   %r15, %r0, 0
20         aghik   %r7, %r8, -16
21
22 #CHECK: agrk    %r0, %r0, %r0           # encoding: [0xb9,0xe8,0x00,0x00]
23 #CHECK: agrk    %r0, %r0, %r15          # encoding: [0xb9,0xe8,0xf0,0x00]
24 #CHECK: agrk    %r0, %r15, %r0          # encoding: [0xb9,0xe8,0x00,0x0f]
25 #CHECK: agrk    %r15, %r0, %r0          # encoding: [0xb9,0xe8,0x00,0xf0]
26 #CHECK: agrk    %r7, %r8, %r9           # encoding: [0xb9,0xe8,0x90,0x78]
27
28         agrk    %r0,%r0,%r0
29         agrk    %r0,%r0,%r15
30         agrk    %r0,%r15,%r0
31         agrk    %r15,%r0,%r0
32         agrk    %r7,%r8,%r9
33
34 #CHECK: ahik    %r0, %r0, -32768        # encoding: [0xec,0x00,0x80,0x00,0x00,0xd8]
35 #CHECK: ahik    %r0, %r0, -1            # encoding: [0xec,0x00,0xff,0xff,0x00,0xd8]
36 #CHECK: ahik    %r0, %r0, 0             # encoding: [0xec,0x00,0x00,0x00,0x00,0xd8]
37 #CHECK: ahik    %r0, %r0, 1             # encoding: [0xec,0x00,0x00,0x01,0x00,0xd8]
38 #CHECK: ahik    %r0, %r0, 32767         # encoding: [0xec,0x00,0x7f,0xff,0x00,0xd8]
39 #CHECK: ahik    %r0, %r15, 0            # encoding: [0xec,0x0f,0x00,0x00,0x00,0xd8]
40 #CHECK: ahik    %r15, %r0, 0            # encoding: [0xec,0xf0,0x00,0x00,0x00,0xd8]
41 #CHECK: ahik    %r7, %r8, -16           # encoding: [0xec,0x78,0xff,0xf0,0x00,0xd8]
42
43         ahik    %r0, %r0, -32768
44         ahik    %r0, %r0, -1
45         ahik    %r0, %r0, 0
46         ahik    %r0, %r0, 1
47         ahik    %r0, %r0, 32767
48         ahik    %r0, %r15, 0
49         ahik    %r15, %r0, 0
50         ahik    %r7, %r8, -16
51
52 #CHECK: alghsik %r0, %r0, -32768        # encoding: [0xec,0x00,0x80,0x00,0x00,0xdb]
53 #CHECK: alghsik %r0, %r0, -1            # encoding: [0xec,0x00,0xff,0xff,0x00,0xdb]
54 #CHECK: alghsik %r0, %r0, 0             # encoding: [0xec,0x00,0x00,0x00,0x00,0xdb]
55 #CHECK: alghsik %r0, %r0, 1             # encoding: [0xec,0x00,0x00,0x01,0x00,0xdb]
56 #CHECK: alghsik %r0, %r0, 32767         # encoding: [0xec,0x00,0x7f,0xff,0x00,0xdb]
57 #CHECK: alghsik %r0, %r15, 0            # encoding: [0xec,0x0f,0x00,0x00,0x00,0xdb]
58 #CHECK: alghsik %r15, %r0, 0            # encoding: [0xec,0xf0,0x00,0x00,0x00,0xdb]
59 #CHECK: alghsik %r7, %r8, -16           # encoding: [0xec,0x78,0xff,0xf0,0x00,0xdb]
60
61         alghsik %r0, %r0, -32768
62         alghsik %r0, %r0, -1
63         alghsik %r0, %r0, 0
64         alghsik %r0, %r0, 1
65         alghsik %r0, %r0, 32767
66         alghsik %r0, %r15, 0
67         alghsik %r15, %r0, 0
68         alghsik %r7, %r8, -16
69
70 #CHECK: algrk   %r0, %r0, %r0           # encoding: [0xb9,0xea,0x00,0x00]
71 #CHECK: algrk   %r0, %r0, %r15          # encoding: [0xb9,0xea,0xf0,0x00]
72 #CHECK: algrk   %r0, %r15, %r0          # encoding: [0xb9,0xea,0x00,0x0f]
73 #CHECK: algrk   %r15, %r0, %r0          # encoding: [0xb9,0xea,0x00,0xf0]
74 #CHECK: algrk   %r7, %r8, %r9           # encoding: [0xb9,0xea,0x90,0x78]
75
76         algrk   %r0,%r0,%r0
77         algrk   %r0,%r0,%r15
78         algrk   %r0,%r15,%r0
79         algrk   %r15,%r0,%r0
80         algrk   %r7,%r8,%r9
81
82 #CHECK: alhsik  %r0, %r0, -32768        # encoding: [0xec,0x00,0x80,0x00,0x00,0xda]
83 #CHECK: alhsik  %r0, %r0, -1            # encoding: [0xec,0x00,0xff,0xff,0x00,0xda]
84 #CHECK: alhsik  %r0, %r0, 0             # encoding: [0xec,0x00,0x00,0x00,0x00,0xda]
85 #CHECK: alhsik  %r0, %r0, 1             # encoding: [0xec,0x00,0x00,0x01,0x00,0xda]
86 #CHECK: alhsik  %r0, %r0, 32767         # encoding: [0xec,0x00,0x7f,0xff,0x00,0xda]
87 #CHECK: alhsik  %r0, %r15, 0            # encoding: [0xec,0x0f,0x00,0x00,0x00,0xda]
88 #CHECK: alhsik  %r15, %r0, 0            # encoding: [0xec,0xf0,0x00,0x00,0x00,0xda]
89 #CHECK: alhsik  %r7, %r8, -16           # encoding: [0xec,0x78,0xff,0xf0,0x00,0xda]
90
91         alhsik  %r0, %r0, -32768
92         alhsik  %r0, %r0, -1
93         alhsik  %r0, %r0, 0
94         alhsik  %r0, %r0, 1
95         alhsik  %r0, %r0, 32767
96         alhsik  %r0, %r15, 0
97         alhsik  %r15, %r0, 0
98         alhsik  %r7, %r8, -16
99
100 #CHECK: alrk    %r0, %r0, %r0           # encoding: [0xb9,0xfa,0x00,0x00]
101 #CHECK: alrk    %r0, %r0, %r15          # encoding: [0xb9,0xfa,0xf0,0x00]
102 #CHECK: alrk    %r0, %r15, %r0          # encoding: [0xb9,0xfa,0x00,0x0f]
103 #CHECK: alrk    %r15, %r0, %r0          # encoding: [0xb9,0xfa,0x00,0xf0]
104 #CHECK: alrk    %r7, %r8, %r9           # encoding: [0xb9,0xfa,0x90,0x78]
105
106         alrk    %r0,%r0,%r0
107         alrk    %r0,%r0,%r15
108         alrk    %r0,%r15,%r0
109         alrk    %r15,%r0,%r0
110         alrk    %r7,%r8,%r9
111
112 #CHECK: ark     %r0, %r0, %r0           # encoding: [0xb9,0xf8,0x00,0x00]
113 #CHECK: ark     %r0, %r0, %r15          # encoding: [0xb9,0xf8,0xf0,0x00]
114 #CHECK: ark     %r0, %r15, %r0          # encoding: [0xb9,0xf8,0x00,0x0f]
115 #CHECK: ark     %r15, %r0, %r0          # encoding: [0xb9,0xf8,0x00,0xf0]
116 #CHECK: ark     %r7, %r8, %r9           # encoding: [0xb9,0xf8,0x90,0x78]
117
118         ark     %r0,%r0,%r0
119         ark     %r0,%r0,%r15
120         ark     %r0,%r15,%r0
121         ark     %r15,%r0,%r0
122         ark     %r7,%r8,%r9
123
124 #CHECK: loc     %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf2]
125 #CHECK: loc     %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf2]
126 #CHECK: loc     %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf2]
127 #CHECK: loc     %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf2]
128 #CHECK: loc     %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf2]
129 #CHECK: loc     %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf2]
130 #CHECK: loc     %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf2]
131 #CHECK: loc     %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xf2]
132
133         loc     %r0,0,0
134         loc     %r0,0,15
135         loc     %r0,-524288,0
136         loc     %r0,524287,0
137         loc     %r0,0(%r1),0
138         loc     %r0,0(%r15),0
139         loc     %r15,0,0
140         loc     %r1,4095(%r2),3
141
142 #CHECK: loco   %r1, 2(%r3)              # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf2]
143 #CHECK: loch   %r1, 2(%r3)              # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf2]
144 #CHECK: locnle %r1, 2(%r3)              # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf2]
145 #CHECK: locl   %r1, 2(%r3)              # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf2]
146 #CHECK: locnhe %r1, 2(%r3)              # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf2]
147 #CHECK: loclh  %r1, 2(%r3)              # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf2]
148 #CHECK: locne  %r1, 2(%r3)              # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf2]
149 #CHECK: loce   %r1, 2(%r3)              # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf2]
150 #CHECK: locnlh %r1, 2(%r3)              # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf2]
151 #CHECK: loche  %r1, 2(%r3)              # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf2]
152 #CHECK: locnl  %r1, 2(%r3)              # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf2]
153 #CHECK: locle  %r1, 2(%r3)              # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf2]
154 #CHECK: locnh  %r1, 2(%r3)              # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf2]
155 #CHECK: locno  %r1, 2(%r3)              # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf2]
156
157         loco   %r1,2(%r3)
158         loch   %r1,2(%r3)
159         locnle %r1,2(%r3)
160         locl   %r1,2(%r3)
161         locnhe %r1,2(%r3)
162         loclh  %r1,2(%r3)
163         locne  %r1,2(%r3)
164         loce   %r1,2(%r3)
165         locnlh %r1,2(%r3)
166         loche  %r1,2(%r3)
167         locnl  %r1,2(%r3)
168         locle  %r1,2(%r3)
169         locnh  %r1,2(%r3)
170         locno  %r1,2(%r3)
171
172 #CHECK: locg    %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe2]
173 #CHECK: locg    %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe2]
174 #CHECK: locg    %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe2]
175 #CHECK: locg    %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe2]
176 #CHECK: locg    %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe2]
177 #CHECK: locg    %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe2]
178 #CHECK: locg    %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe2]
179 #CHECK: locg    %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xe2]
180
181         locg    %r0,0,0
182         locg    %r0,0,15
183         locg    %r0,-524288,0
184         locg    %r0,524287,0
185         locg    %r0,0(%r1),0
186         locg    %r0,0(%r15),0
187         locg    %r15,0,0
188         locg    %r1,4095(%r2),3
189
190 #CHECK: locgo   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe2]
191 #CHECK: locgh   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe2]
192 #CHECK: locgnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe2]
193 #CHECK: locgl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe2]
194 #CHECK: locgnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe2]
195 #CHECK: locglh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe2]
196 #CHECK: locgne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe2]
197 #CHECK: locge   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe2]
198 #CHECK: locgnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe2]
199 #CHECK: locghe  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe2]
200 #CHECK: locgnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe2]
201 #CHECK: locgle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe2]
202 #CHECK: locgnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe2]
203 #CHECK: locgno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe2]
204
205         locgo   %r1,2(%r3)
206         locgh   %r1,2(%r3)
207         locgnle %r1,2(%r3)
208         locgl   %r1,2(%r3)
209         locgnhe %r1,2(%r3)
210         locglh  %r1,2(%r3)
211         locgne  %r1,2(%r3)
212         locge   %r1,2(%r3)
213         locgnlh %r1,2(%r3)
214         locghe  %r1,2(%r3)
215         locgnl  %r1,2(%r3)
216         locgle  %r1,2(%r3)
217         locgnh  %r1,2(%r3)
218         locgno  %r1,2(%r3)
219
220 #CHECK: ngrk    %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
221 #CHECK: ngrk    %r0, %r0, %r15          # encoding: [0xb9,0xe4,0xf0,0x00]
222 #CHECK: ngrk    %r0, %r15, %r0          # encoding: [0xb9,0xe4,0x00,0x0f]
223 #CHECK: ngrk    %r15, %r0, %r0          # encoding: [0xb9,0xe4,0x00,0xf0]
224 #CHECK: ngrk    %r7, %r8, %r9           # encoding: [0xb9,0xe4,0x90,0x78]
225
226         ngrk    %r0,%r0,%r0
227         ngrk    %r0,%r0,%r15
228         ngrk    %r0,%r15,%r0
229         ngrk    %r15,%r0,%r0
230         ngrk    %r7,%r8,%r9
231
232 #CHECK: nrk     %r0, %r0, %r0           # encoding: [0xb9,0xf4,0x00,0x00]
233 #CHECK: nrk     %r0, %r0, %r15          # encoding: [0xb9,0xf4,0xf0,0x00]
234 #CHECK: nrk     %r0, %r15, %r0          # encoding: [0xb9,0xf4,0x00,0x0f]
235 #CHECK: nrk     %r15, %r0, %r0          # encoding: [0xb9,0xf4,0x00,0xf0]
236 #CHECK: nrk     %r7, %r8, %r9           # encoding: [0xb9,0xf4,0x90,0x78]
237
238         nrk     %r0,%r0,%r0
239         nrk     %r0,%r0,%r15
240         nrk     %r0,%r15,%r0
241         nrk     %r15,%r0,%r0
242         nrk     %r7,%r8,%r9
243
244 #CHECK: ogrk    %r0, %r0, %r0           # encoding: [0xb9,0xe6,0x00,0x00]
245 #CHECK: ogrk    %r0, %r0, %r15          # encoding: [0xb9,0xe6,0xf0,0x00]
246 #CHECK: ogrk    %r0, %r15, %r0          # encoding: [0xb9,0xe6,0x00,0x0f]
247 #CHECK: ogrk    %r15, %r0, %r0          # encoding: [0xb9,0xe6,0x00,0xf0]
248 #CHECK: ogrk    %r7, %r8, %r9           # encoding: [0xb9,0xe6,0x90,0x78]
249
250         ogrk    %r0,%r0,%r0
251         ogrk    %r0,%r0,%r15
252         ogrk    %r0,%r15,%r0
253         ogrk    %r15,%r0,%r0
254         ogrk    %r7,%r8,%r9
255
256 #CHECK: ork     %r0, %r0, %r0           # encoding: [0xb9,0xf6,0x00,0x00]
257 #CHECK: ork     %r0, %r0, %r15          # encoding: [0xb9,0xf6,0xf0,0x00]
258 #CHECK: ork     %r0, %r15, %r0          # encoding: [0xb9,0xf6,0x00,0x0f]
259 #CHECK: ork     %r15, %r0, %r0          # encoding: [0xb9,0xf6,0x00,0xf0]
260 #CHECK: ork     %r7, %r8, %r9           # encoding: [0xb9,0xf6,0x90,0x78]
261
262         ork     %r0,%r0,%r0
263         ork     %r0,%r0,%r15
264         ork     %r0,%r15,%r0
265         ork     %r15,%r0,%r0
266         ork     %r7,%r8,%r9
267
268 #CHECK: sgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe9,0x00,0x00]
269 #CHECK: sgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe9,0xf0,0x00]
270 #CHECK: sgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe9,0x00,0x0f]
271 #CHECK: sgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe9,0x00,0xf0]
272 #CHECK: sgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe9,0x90,0x78]
273
274         sgrk    %r0,%r0,%r0
275         sgrk    %r0,%r0,%r15
276         sgrk    %r0,%r15,%r0
277         sgrk    %r15,%r0,%r0
278         sgrk    %r7,%r8,%r9
279
280 #CHECK: slgrk   %r0, %r0, %r0           # encoding: [0xb9,0xeb,0x00,0x00]
281 #CHECK: slgrk   %r0, %r0, %r15          # encoding: [0xb9,0xeb,0xf0,0x00]
282 #CHECK: slgrk   %r0, %r15, %r0          # encoding: [0xb9,0xeb,0x00,0x0f]
283 #CHECK: slgrk   %r15, %r0, %r0          # encoding: [0xb9,0xeb,0x00,0xf0]
284 #CHECK: slgrk   %r7, %r8, %r9           # encoding: [0xb9,0xeb,0x90,0x78]
285
286         slgrk   %r0,%r0,%r0
287         slgrk   %r0,%r0,%r15
288         slgrk   %r0,%r15,%r0
289         slgrk   %r15,%r0,%r0
290         slgrk   %r7,%r8,%r9
291
292 #CHECK: slrk    %r0, %r0, %r0           # encoding: [0xb9,0xfb,0x00,0x00]
293 #CHECK: slrk    %r0, %r0, %r15          # encoding: [0xb9,0xfb,0xf0,0x00]
294 #CHECK: slrk    %r0, %r15, %r0          # encoding: [0xb9,0xfb,0x00,0x0f]
295 #CHECK: slrk    %r15, %r0, %r0          # encoding: [0xb9,0xfb,0x00,0xf0]
296 #CHECK: slrk    %r7, %r8, %r9           # encoding: [0xb9,0xfb,0x90,0x78]
297
298         slrk    %r0,%r0,%r0
299         slrk    %r0,%r0,%r15
300         slrk    %r0,%r15,%r0
301         slrk    %r15,%r0,%r0
302         slrk    %r7,%r8,%r9
303
304 #CHECK: sllk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdf]
305 #CHECK: sllk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdf]
306 #CHECK: sllk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdf]
307 #CHECK: sllk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdf]
308 #CHECK: sllk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdf]
309 #CHECK: sllk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdf]
310 #CHECK: sllk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdf]
311 #CHECK: sllk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdf]
312 #CHECK: sllk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdf]
313 #CHECK: sllk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdf]
314 #CHECK: sllk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdf]
315 #CHECK: sllk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdf]
316
317         sllk    %r0,%r0,0
318         sllk    %r15,%r1,0
319         sllk    %r1,%r15,0
320         sllk    %r15,%r15,0
321         sllk    %r0,%r0,-524288
322         sllk    %r0,%r0,-1
323         sllk    %r0,%r0,1
324         sllk    %r0,%r0,524287
325         sllk    %r0,%r0,0(%r1)
326         sllk    %r0,%r0,0(%r15)
327         sllk    %r0,%r0,524287(%r1)
328         sllk    %r0,%r0,524287(%r15)
329
330 #CHECK: srak    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdc]
331 #CHECK: srak    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdc]
332 #CHECK: srak    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdc]
333 #CHECK: srak    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdc]
334 #CHECK: srak    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdc]
335 #CHECK: srak    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdc]
336 #CHECK: srak    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdc]
337 #CHECK: srak    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdc]
338 #CHECK: srak    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdc]
339 #CHECK: srak    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdc]
340 #CHECK: srak    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdc]
341 #CHECK: srak    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdc]
342
343         srak    %r0,%r0,0
344         srak    %r15,%r1,0
345         srak    %r1,%r15,0
346         srak    %r15,%r15,0
347         srak    %r0,%r0,-524288
348         srak    %r0,%r0,-1
349         srak    %r0,%r0,1
350         srak    %r0,%r0,524287
351         srak    %r0,%r0,0(%r1)
352         srak    %r0,%r0,0(%r15)
353         srak    %r0,%r0,524287(%r1)
354         srak    %r0,%r0,524287(%r15)
355
356 #CHECK: srk     %r0, %r0, %r0           # encoding: [0xb9,0xf9,0x00,0x00]
357 #CHECK: srk     %r0, %r0, %r15          # encoding: [0xb9,0xf9,0xf0,0x00]
358 #CHECK: srk     %r0, %r15, %r0          # encoding: [0xb9,0xf9,0x00,0x0f]
359 #CHECK: srk     %r15, %r0, %r0          # encoding: [0xb9,0xf9,0x00,0xf0]
360 #CHECK: srk     %r7, %r8, %r9           # encoding: [0xb9,0xf9,0x90,0x78]
361
362         srk     %r0,%r0,%r0
363         srk     %r0,%r0,%r15
364         srk     %r0,%r15,%r0
365         srk     %r15,%r0,%r0
366         srk     %r7,%r8,%r9
367
368 #CHECK: srlk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xde]
369 #CHECK: srlk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xde]
370 #CHECK: srlk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xde]
371 #CHECK: srlk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xde]
372 #CHECK: srlk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xde]
373 #CHECK: srlk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xde]
374 #CHECK: srlk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xde]
375 #CHECK: srlk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xde]
376 #CHECK: srlk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xde]
377 #CHECK: srlk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xde]
378 #CHECK: srlk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xde]
379 #CHECK: srlk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xde]
380
381         srlk    %r0,%r0,0
382         srlk    %r15,%r1,0
383         srlk    %r1,%r15,0
384         srlk    %r15,%r15,0
385         srlk    %r0,%r0,-524288
386         srlk    %r0,%r0,-1
387         srlk    %r0,%r0,1
388         srlk    %r0,%r0,524287
389         srlk    %r0,%r0,0(%r1)
390         srlk    %r0,%r0,0(%r15)
391         srlk    %r0,%r0,524287(%r1)
392         srlk    %r0,%r0,524287(%r15)
393
394 #CHECK: stoc    %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf3]
395 #CHECK: stoc    %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf3]
396 #CHECK: stoc    %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf3]
397 #CHECK: stoc    %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf3]
398 #CHECK: stoc    %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf3]
399 #CHECK: stoc    %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf3]
400 #CHECK: stoc    %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf3]
401 #CHECK: stoc    %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xf3]
402
403         stoc    %r0,0,0
404         stoc    %r0,0,15
405         stoc    %r0,-524288,0
406         stoc    %r0,524287,0
407         stoc    %r0,0(%r1),0
408         stoc    %r0,0(%r15),0
409         stoc    %r15,0,0
410         stoc    %r1,4095(%r2),3
411
412 #CHECK: stoco   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf3]
413 #CHECK: stoch   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf3]
414 #CHECK: stocnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf3]
415 #CHECK: stocl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf3]
416 #CHECK: stocnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf3]
417 #CHECK: stoclh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf3]
418 #CHECK: stocne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf3]
419 #CHECK: stoce   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf3]
420 #CHECK: stocnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf3]
421 #CHECK: stoche  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf3]
422 #CHECK: stocnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf3]
423 #CHECK: stocle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf3]
424 #CHECK: stocnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf3]
425 #CHECK: stocno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf3]
426
427         stoco   %r1,2(%r3)
428         stoch   %r1,2(%r3)
429         stocnle %r1,2(%r3)
430         stocl   %r1,2(%r3)
431         stocnhe %r1,2(%r3)
432         stoclh  %r1,2(%r3)
433         stocne  %r1,2(%r3)
434         stoce   %r1,2(%r3)
435         stocnlh %r1,2(%r3)
436         stoche  %r1,2(%r3)
437         stocnl  %r1,2(%r3)
438         stocle  %r1,2(%r3)
439         stocnh  %r1,2(%r3)
440         stocno  %r1,2(%r3)
441
442 #CHECK: stocg   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe3]
443 #CHECK: stocg   %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe3]
444 #CHECK: stocg   %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe3]
445 #CHECK: stocg   %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe3]
446 #CHECK: stocg   %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe3]
447 #CHECK: stocg   %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe3]
448 #CHECK: stocg   %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe3]
449 #CHECK: stocg   %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xe3]
450
451         stocg   %r0,0,0
452         stocg   %r0,0,15
453         stocg   %r0,-524288,0
454         stocg   %r0,524287,0
455         stocg   %r0,0(%r1),0
456         stocg   %r0,0(%r15),0
457         stocg   %r15,0,0
458         stocg   %r1,4095(%r2),3
459
460 #CHECK: stocgo   %r1, 2(%r3)            # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe3]
461 #CHECK: stocgh   %r1, 2(%r3)            # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe3]
462 #CHECK: stocgnle %r1, 2(%r3)            # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe3]
463 #CHECK: stocgl   %r1, 2(%r3)            # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe3]
464 #CHECK: stocgnhe %r1, 2(%r3)            # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe3]
465 #CHECK: stocglh  %r1, 2(%r3)            # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe3]
466 #CHECK: stocgne  %r1, 2(%r3)            # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe3]
467 #CHECK: stocge   %r1, 2(%r3)            # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe3]
468 #CHECK: stocgnlh %r1, 2(%r3)            # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe3]
469 #CHECK: stocghe  %r1, 2(%r3)            # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe3]
470 #CHECK: stocgnl  %r1, 2(%r3)            # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe3]
471 #CHECK: stocgle  %r1, 2(%r3)            # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe3]
472 #CHECK: stocgnh  %r1, 2(%r3)            # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe3]
473 #CHECK: stocgno  %r1, 2(%r3)            # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe3]
474
475         stocgo   %r1,2(%r3)
476         stocgh   %r1,2(%r3)
477         stocgnle %r1,2(%r3)
478         stocgl   %r1,2(%r3)
479         stocgnhe %r1,2(%r3)
480         stocglh  %r1,2(%r3)
481         stocgne  %r1,2(%r3)
482         stocge   %r1,2(%r3)
483         stocgnlh %r1,2(%r3)
484         stocghe  %r1,2(%r3)
485         stocgnl  %r1,2(%r3)
486         stocgle  %r1,2(%r3)
487         stocgnh  %r1,2(%r3)
488         stocgno  %r1,2(%r3)
489
490 #CHECK: xgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
491 #CHECK: xgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe7,0xf0,0x00]
492 #CHECK: xgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe7,0x00,0x0f]
493 #CHECK: xgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe7,0x00,0xf0]
494 #CHECK: xgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe7,0x90,0x78]
495
496         xgrk    %r0,%r0,%r0
497         xgrk    %r0,%r0,%r15
498         xgrk    %r0,%r15,%r0
499         xgrk    %r15,%r0,%r0
500         xgrk    %r7,%r8,%r9
501
502 #CHECK: xrk     %r0, %r0, %r0           # encoding: [0xb9,0xf7,0x00,0x00]
503 #CHECK: xrk     %r0, %r0, %r15          # encoding: [0xb9,0xf7,0xf0,0x00]
504 #CHECK: xrk     %r0, %r15, %r0          # encoding: [0xb9,0xf7,0x00,0x0f]
505 #CHECK: xrk     %r15, %r0, %r0          # encoding: [0xb9,0xf7,0x00,0xf0]
506 #CHECK: xrk     %r7, %r8, %r9           # encoding: [0xb9,0xf7,0x90,0x78]
507
508         xrk     %r0,%r0,%r0
509         xrk     %r0,%r0,%r15
510         xrk     %r0,%r15,%r0
511         xrk     %r15,%r0,%r0
512         xrk     %r7,%r8,%r9