[SystemZ] Add LOCR and LOCGR
[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: locgr   %r1, %r2, 0             # encoding: [0xb9,0xe2,0x00,0x12]
221 #CHECK: locgr   %r1, %r2, 15            # encoding: [0xb9,0xe2,0xf0,0x12]
222
223         locgr   %r1,%r2,0
224         locgr   %r1,%r2,15
225
226 #CHECK: locgro   %r1, %r3               # encoding: [0xb9,0xe2,0x10,0x13]
227 #CHECK: locgrh   %r1, %r3               # encoding: [0xb9,0xe2,0x20,0x13]
228 #CHECK: locgrnle %r1, %r3               # encoding: [0xb9,0xe2,0x30,0x13]
229 #CHECK: locgrl   %r1, %r3               # encoding: [0xb9,0xe2,0x40,0x13]
230 #CHECK: locgrnhe %r1, %r3               # encoding: [0xb9,0xe2,0x50,0x13]
231 #CHECK: locgrlh  %r1, %r3               # encoding: [0xb9,0xe2,0x60,0x13]
232 #CHECK: locgrne  %r1, %r3               # encoding: [0xb9,0xe2,0x70,0x13]
233 #CHECK: locgre   %r1, %r3               # encoding: [0xb9,0xe2,0x80,0x13]
234 #CHECK: locgrnlh %r1, %r3               # encoding: [0xb9,0xe2,0x90,0x13]
235 #CHECK: locgrhe  %r1, %r3               # encoding: [0xb9,0xe2,0xa0,0x13]
236 #CHECK: locgrnl  %r1, %r3               # encoding: [0xb9,0xe2,0xb0,0x13]
237 #CHECK: locgrle  %r1, %r3               # encoding: [0xb9,0xe2,0xc0,0x13]
238 #CHECK: locgrnh  %r1, %r3               # encoding: [0xb9,0xe2,0xd0,0x13]
239 #CHECK: locgrno  %r1, %r3               # encoding: [0xb9,0xe2,0xe0,0x13]
240
241         locgro   %r1,%r3
242         locgrh   %r1,%r3
243         locgrnle %r1,%r3
244         locgrl   %r1,%r3
245         locgrnhe %r1,%r3
246         locgrlh  %r1,%r3
247         locgrne  %r1,%r3
248         locgre   %r1,%r3
249         locgrnlh %r1,%r3
250         locgrhe  %r1,%r3
251         locgrnl  %r1,%r3
252         locgrle  %r1,%r3
253         locgrnh  %r1,%r3
254         locgrno  %r1,%r3
255
256 #CHECK: locr    %r1, %r2, 0             # encoding: [0xb9,0xf2,0x00,0x12]
257 #CHECK: locr    %r1, %r2, 15            # encoding: [0xb9,0xf2,0xf0,0x12]
258
259         locr    %r1,%r2,0
260         locr    %r1,%r2,15
261
262 #CHECK: locro   %r1, %r3                # encoding: [0xb9,0xf2,0x10,0x13]
263 #CHECK: locrh   %r1, %r3                # encoding: [0xb9,0xf2,0x20,0x13]
264 #CHECK: locrnle %r1, %r3                # encoding: [0xb9,0xf2,0x30,0x13]
265 #CHECK: locrl   %r1, %r3                # encoding: [0xb9,0xf2,0x40,0x13]
266 #CHECK: locrnhe %r1, %r3                # encoding: [0xb9,0xf2,0x50,0x13]
267 #CHECK: locrlh  %r1, %r3                # encoding: [0xb9,0xf2,0x60,0x13]
268 #CHECK: locrne  %r1, %r3                # encoding: [0xb9,0xf2,0x70,0x13]
269 #CHECK: locre   %r1, %r3                # encoding: [0xb9,0xf2,0x80,0x13]
270 #CHECK: locrnlh %r1, %r3                # encoding: [0xb9,0xf2,0x90,0x13]
271 #CHECK: locrhe  %r1, %r3                # encoding: [0xb9,0xf2,0xa0,0x13]
272 #CHECK: locrnl  %r1, %r3                # encoding: [0xb9,0xf2,0xb0,0x13]
273 #CHECK: locrle  %r1, %r3                # encoding: [0xb9,0xf2,0xc0,0x13]
274 #CHECK: locrnh  %r1, %r3                # encoding: [0xb9,0xf2,0xd0,0x13]
275 #CHECK: locrno  %r1, %r3                # encoding: [0xb9,0xf2,0xe0,0x13]
276
277         locro   %r1,%r3
278         locrh   %r1,%r3
279         locrnle %r1,%r3
280         locrl   %r1,%r3
281         locrnhe %r1,%r3
282         locrlh  %r1,%r3
283         locrne  %r1,%r3
284         locre   %r1,%r3
285         locrnlh %r1,%r3
286         locrhe  %r1,%r3
287         locrnl  %r1,%r3
288         locrle  %r1,%r3
289         locrnh  %r1,%r3
290         locrno  %r1,%r3
291
292 #CHECK: ngrk    %r0, %r0, %r0           # encoding: [0xb9,0xe4,0x00,0x00]
293 #CHECK: ngrk    %r0, %r0, %r15          # encoding: [0xb9,0xe4,0xf0,0x00]
294 #CHECK: ngrk    %r0, %r15, %r0          # encoding: [0xb9,0xe4,0x00,0x0f]
295 #CHECK: ngrk    %r15, %r0, %r0          # encoding: [0xb9,0xe4,0x00,0xf0]
296 #CHECK: ngrk    %r7, %r8, %r9           # encoding: [0xb9,0xe4,0x90,0x78]
297
298         ngrk    %r0,%r0,%r0
299         ngrk    %r0,%r0,%r15
300         ngrk    %r0,%r15,%r0
301         ngrk    %r15,%r0,%r0
302         ngrk    %r7,%r8,%r9
303
304 #CHECK: nrk     %r0, %r0, %r0           # encoding: [0xb9,0xf4,0x00,0x00]
305 #CHECK: nrk     %r0, %r0, %r15          # encoding: [0xb9,0xf4,0xf0,0x00]
306 #CHECK: nrk     %r0, %r15, %r0          # encoding: [0xb9,0xf4,0x00,0x0f]
307 #CHECK: nrk     %r15, %r0, %r0          # encoding: [0xb9,0xf4,0x00,0xf0]
308 #CHECK: nrk     %r7, %r8, %r9           # encoding: [0xb9,0xf4,0x90,0x78]
309
310         nrk     %r0,%r0,%r0
311         nrk     %r0,%r0,%r15
312         nrk     %r0,%r15,%r0
313         nrk     %r15,%r0,%r0
314         nrk     %r7,%r8,%r9
315
316 #CHECK: ogrk    %r0, %r0, %r0           # encoding: [0xb9,0xe6,0x00,0x00]
317 #CHECK: ogrk    %r0, %r0, %r15          # encoding: [0xb9,0xe6,0xf0,0x00]
318 #CHECK: ogrk    %r0, %r15, %r0          # encoding: [0xb9,0xe6,0x00,0x0f]
319 #CHECK: ogrk    %r15, %r0, %r0          # encoding: [0xb9,0xe6,0x00,0xf0]
320 #CHECK: ogrk    %r7, %r8, %r9           # encoding: [0xb9,0xe6,0x90,0x78]
321
322         ogrk    %r0,%r0,%r0
323         ogrk    %r0,%r0,%r15
324         ogrk    %r0,%r15,%r0
325         ogrk    %r15,%r0,%r0
326         ogrk    %r7,%r8,%r9
327
328 #CHECK: ork     %r0, %r0, %r0           # encoding: [0xb9,0xf6,0x00,0x00]
329 #CHECK: ork     %r0, %r0, %r15          # encoding: [0xb9,0xf6,0xf0,0x00]
330 #CHECK: ork     %r0, %r15, %r0          # encoding: [0xb9,0xf6,0x00,0x0f]
331 #CHECK: ork     %r15, %r0, %r0          # encoding: [0xb9,0xf6,0x00,0xf0]
332 #CHECK: ork     %r7, %r8, %r9           # encoding: [0xb9,0xf6,0x90,0x78]
333
334         ork     %r0,%r0,%r0
335         ork     %r0,%r0,%r15
336         ork     %r0,%r15,%r0
337         ork     %r15,%r0,%r0
338         ork     %r7,%r8,%r9
339
340 #CHECK: sgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe9,0x00,0x00]
341 #CHECK: sgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe9,0xf0,0x00]
342 #CHECK: sgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe9,0x00,0x0f]
343 #CHECK: sgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe9,0x00,0xf0]
344 #CHECK: sgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe9,0x90,0x78]
345
346         sgrk    %r0,%r0,%r0
347         sgrk    %r0,%r0,%r15
348         sgrk    %r0,%r15,%r0
349         sgrk    %r15,%r0,%r0
350         sgrk    %r7,%r8,%r9
351
352 #CHECK: slgrk   %r0, %r0, %r0           # encoding: [0xb9,0xeb,0x00,0x00]
353 #CHECK: slgrk   %r0, %r0, %r15          # encoding: [0xb9,0xeb,0xf0,0x00]
354 #CHECK: slgrk   %r0, %r15, %r0          # encoding: [0xb9,0xeb,0x00,0x0f]
355 #CHECK: slgrk   %r15, %r0, %r0          # encoding: [0xb9,0xeb,0x00,0xf0]
356 #CHECK: slgrk   %r7, %r8, %r9           # encoding: [0xb9,0xeb,0x90,0x78]
357
358         slgrk   %r0,%r0,%r0
359         slgrk   %r0,%r0,%r15
360         slgrk   %r0,%r15,%r0
361         slgrk   %r15,%r0,%r0
362         slgrk   %r7,%r8,%r9
363
364 #CHECK: slrk    %r0, %r0, %r0           # encoding: [0xb9,0xfb,0x00,0x00]
365 #CHECK: slrk    %r0, %r0, %r15          # encoding: [0xb9,0xfb,0xf0,0x00]
366 #CHECK: slrk    %r0, %r15, %r0          # encoding: [0xb9,0xfb,0x00,0x0f]
367 #CHECK: slrk    %r15, %r0, %r0          # encoding: [0xb9,0xfb,0x00,0xf0]
368 #CHECK: slrk    %r7, %r8, %r9           # encoding: [0xb9,0xfb,0x90,0x78]
369
370         slrk    %r0,%r0,%r0
371         slrk    %r0,%r0,%r15
372         slrk    %r0,%r15,%r0
373         slrk    %r15,%r0,%r0
374         slrk    %r7,%r8,%r9
375
376 #CHECK: sllk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdf]
377 #CHECK: sllk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdf]
378 #CHECK: sllk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdf]
379 #CHECK: sllk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdf]
380 #CHECK: sllk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdf]
381 #CHECK: sllk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdf]
382 #CHECK: sllk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdf]
383 #CHECK: sllk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdf]
384 #CHECK: sllk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdf]
385 #CHECK: sllk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdf]
386 #CHECK: sllk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdf]
387 #CHECK: sllk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdf]
388
389         sllk    %r0,%r0,0
390         sllk    %r15,%r1,0
391         sllk    %r1,%r15,0
392         sllk    %r15,%r15,0
393         sllk    %r0,%r0,-524288
394         sllk    %r0,%r0,-1
395         sllk    %r0,%r0,1
396         sllk    %r0,%r0,524287
397         sllk    %r0,%r0,0(%r1)
398         sllk    %r0,%r0,0(%r15)
399         sllk    %r0,%r0,524287(%r1)
400         sllk    %r0,%r0,524287(%r15)
401
402 #CHECK: srak    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdc]
403 #CHECK: srak    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdc]
404 #CHECK: srak    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdc]
405 #CHECK: srak    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdc]
406 #CHECK: srak    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdc]
407 #CHECK: srak    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdc]
408 #CHECK: srak    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdc]
409 #CHECK: srak    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdc]
410 #CHECK: srak    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdc]
411 #CHECK: srak    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdc]
412 #CHECK: srak    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdc]
413 #CHECK: srak    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdc]
414
415         srak    %r0,%r0,0
416         srak    %r15,%r1,0
417         srak    %r1,%r15,0
418         srak    %r15,%r15,0
419         srak    %r0,%r0,-524288
420         srak    %r0,%r0,-1
421         srak    %r0,%r0,1
422         srak    %r0,%r0,524287
423         srak    %r0,%r0,0(%r1)
424         srak    %r0,%r0,0(%r15)
425         srak    %r0,%r0,524287(%r1)
426         srak    %r0,%r0,524287(%r15)
427
428 #CHECK: srk     %r0, %r0, %r0           # encoding: [0xb9,0xf9,0x00,0x00]
429 #CHECK: srk     %r0, %r0, %r15          # encoding: [0xb9,0xf9,0xf0,0x00]
430 #CHECK: srk     %r0, %r15, %r0          # encoding: [0xb9,0xf9,0x00,0x0f]
431 #CHECK: srk     %r15, %r0, %r0          # encoding: [0xb9,0xf9,0x00,0xf0]
432 #CHECK: srk     %r7, %r8, %r9           # encoding: [0xb9,0xf9,0x90,0x78]
433
434         srk     %r0,%r0,%r0
435         srk     %r0,%r0,%r15
436         srk     %r0,%r15,%r0
437         srk     %r15,%r0,%r0
438         srk     %r7,%r8,%r9
439
440 #CHECK: srlk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xde]
441 #CHECK: srlk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xde]
442 #CHECK: srlk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xde]
443 #CHECK: srlk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xde]
444 #CHECK: srlk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xde]
445 #CHECK: srlk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xde]
446 #CHECK: srlk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xde]
447 #CHECK: srlk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xde]
448 #CHECK: srlk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xde]
449 #CHECK: srlk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xde]
450 #CHECK: srlk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xde]
451 #CHECK: srlk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xde]
452
453         srlk    %r0,%r0,0
454         srlk    %r15,%r1,0
455         srlk    %r1,%r15,0
456         srlk    %r15,%r15,0
457         srlk    %r0,%r0,-524288
458         srlk    %r0,%r0,-1
459         srlk    %r0,%r0,1
460         srlk    %r0,%r0,524287
461         srlk    %r0,%r0,0(%r1)
462         srlk    %r0,%r0,0(%r15)
463         srlk    %r0,%r0,524287(%r1)
464         srlk    %r0,%r0,524287(%r15)
465
466 #CHECK: stoc    %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf3]
467 #CHECK: stoc    %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf3]
468 #CHECK: stoc    %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf3]
469 #CHECK: stoc    %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf3]
470 #CHECK: stoc    %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf3]
471 #CHECK: stoc    %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf3]
472 #CHECK: stoc    %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf3]
473 #CHECK: stoc    %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xf3]
474
475         stoc    %r0,0,0
476         stoc    %r0,0,15
477         stoc    %r0,-524288,0
478         stoc    %r0,524287,0
479         stoc    %r0,0(%r1),0
480         stoc    %r0,0(%r15),0
481         stoc    %r15,0,0
482         stoc    %r1,4095(%r2),3
483
484 #CHECK: stoco   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf3]
485 #CHECK: stoch   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf3]
486 #CHECK: stocnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf3]
487 #CHECK: stocl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf3]
488 #CHECK: stocnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf3]
489 #CHECK: stoclh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf3]
490 #CHECK: stocne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf3]
491 #CHECK: stoce   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf3]
492 #CHECK: stocnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf3]
493 #CHECK: stoche  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf3]
494 #CHECK: stocnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf3]
495 #CHECK: stocle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf3]
496 #CHECK: stocnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf3]
497 #CHECK: stocno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf3]
498
499         stoco   %r1,2(%r3)
500         stoch   %r1,2(%r3)
501         stocnle %r1,2(%r3)
502         stocl   %r1,2(%r3)
503         stocnhe %r1,2(%r3)
504         stoclh  %r1,2(%r3)
505         stocne  %r1,2(%r3)
506         stoce   %r1,2(%r3)
507         stocnlh %r1,2(%r3)
508         stoche  %r1,2(%r3)
509         stocnl  %r1,2(%r3)
510         stocle  %r1,2(%r3)
511         stocnh  %r1,2(%r3)
512         stocno  %r1,2(%r3)
513
514 #CHECK: stocg   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe3]
515 #CHECK: stocg   %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe3]
516 #CHECK: stocg   %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe3]
517 #CHECK: stocg   %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe3]
518 #CHECK: stocg   %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe3]
519 #CHECK: stocg   %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe3]
520 #CHECK: stocg   %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe3]
521 #CHECK: stocg   %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xe3]
522
523         stocg   %r0,0,0
524         stocg   %r0,0,15
525         stocg   %r0,-524288,0
526         stocg   %r0,524287,0
527         stocg   %r0,0(%r1),0
528         stocg   %r0,0(%r15),0
529         stocg   %r15,0,0
530         stocg   %r1,4095(%r2),3
531
532 #CHECK: stocgo   %r1, 2(%r3)            # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe3]
533 #CHECK: stocgh   %r1, 2(%r3)            # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe3]
534 #CHECK: stocgnle %r1, 2(%r3)            # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe3]
535 #CHECK: stocgl   %r1, 2(%r3)            # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe3]
536 #CHECK: stocgnhe %r1, 2(%r3)            # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe3]
537 #CHECK: stocglh  %r1, 2(%r3)            # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe3]
538 #CHECK: stocgne  %r1, 2(%r3)            # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe3]
539 #CHECK: stocge   %r1, 2(%r3)            # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe3]
540 #CHECK: stocgnlh %r1, 2(%r3)            # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe3]
541 #CHECK: stocghe  %r1, 2(%r3)            # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe3]
542 #CHECK: stocgnl  %r1, 2(%r3)            # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe3]
543 #CHECK: stocgle  %r1, 2(%r3)            # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe3]
544 #CHECK: stocgnh  %r1, 2(%r3)            # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe3]
545 #CHECK: stocgno  %r1, 2(%r3)            # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe3]
546
547         stocgo   %r1,2(%r3)
548         stocgh   %r1,2(%r3)
549         stocgnle %r1,2(%r3)
550         stocgl   %r1,2(%r3)
551         stocgnhe %r1,2(%r3)
552         stocglh  %r1,2(%r3)
553         stocgne  %r1,2(%r3)
554         stocge   %r1,2(%r3)
555         stocgnlh %r1,2(%r3)
556         stocghe  %r1,2(%r3)
557         stocgnl  %r1,2(%r3)
558         stocgle  %r1,2(%r3)
559         stocgnh  %r1,2(%r3)
560         stocgno  %r1,2(%r3)
561
562 #CHECK: xgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
563 #CHECK: xgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe7,0xf0,0x00]
564 #CHECK: xgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe7,0x00,0x0f]
565 #CHECK: xgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe7,0x00,0xf0]
566 #CHECK: xgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe7,0x90,0x78]
567
568         xgrk    %r0,%r0,%r0
569         xgrk    %r0,%r0,%r15
570         xgrk    %r0,%r15,%r0
571         xgrk    %r15,%r0,%r0
572         xgrk    %r7,%r8,%r9
573
574 #CHECK: xrk     %r0, %r0, %r0           # encoding: [0xb9,0xf7,0x00,0x00]
575 #CHECK: xrk     %r0, %r0, %r15          # encoding: [0xb9,0xf7,0xf0,0x00]
576 #CHECK: xrk     %r0, %r15, %r0          # encoding: [0xb9,0xf7,0x00,0x0f]
577 #CHECK: xrk     %r15, %r0, %r0          # encoding: [0xb9,0xf7,0x00,0xf0]
578 #CHECK: xrk     %r7, %r8, %r9           # encoding: [0xb9,0xf7,0x90,0x78]
579
580         xrk     %r0,%r0,%r0
581         xrk     %r0,%r0,%r15
582         xrk     %r0,%r15,%r0
583         xrk     %r15,%r0,%r0
584         xrk     %r7,%r8,%r9