5f7c27785d78c44a2de0f297bc7a48f132da9385
[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: risbhg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x5d]
341 #CHECK: risbhg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x5d]
342 #CHECK: risbhg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x5d]
343 #CHECK: risbhg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x5d]
344 #CHECK: risbhg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x5d]
345 #CHECK: risbhg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x5d]
346 #CHECK: risbhg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x5d]
347
348         risbhg  %r0,%r0,0,0,0
349         risbhg  %r0,%r0,0,0,63
350         risbhg  %r0,%r0,0,255,0
351         risbhg  %r0,%r0,255,0,0
352         risbhg  %r0,%r15,0,0,0
353         risbhg  %r15,%r0,0,0,0
354         risbhg  %r4,%r5,6,7,8
355
356 #CHECK: risblg  %r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x51]
357 #CHECK: risblg  %r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x51]
358 #CHECK: risblg  %r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x51]
359 #CHECK: risblg  %r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x51]
360 #CHECK: risblg  %r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x51]
361 #CHECK: risblg  %r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x51]
362 #CHECK: risblg  %r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x51]
363
364         risblg  %r0,%r0,0,0,0
365         risblg  %r0,%r0,0,0,63
366         risblg  %r0,%r0,0,255,0
367         risblg  %r0,%r0,255,0,0
368         risblg  %r0,%r15,0,0,0
369         risblg  %r15,%r0,0,0,0
370         risblg  %r4,%r5,6,7,8
371
372 #CHECK: sgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe9,0x00,0x00]
373 #CHECK: sgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe9,0xf0,0x00]
374 #CHECK: sgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe9,0x00,0x0f]
375 #CHECK: sgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe9,0x00,0xf0]
376 #CHECK: sgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe9,0x90,0x78]
377
378         sgrk    %r0,%r0,%r0
379         sgrk    %r0,%r0,%r15
380         sgrk    %r0,%r15,%r0
381         sgrk    %r15,%r0,%r0
382         sgrk    %r7,%r8,%r9
383
384 #CHECK: slgrk   %r0, %r0, %r0           # encoding: [0xb9,0xeb,0x00,0x00]
385 #CHECK: slgrk   %r0, %r0, %r15          # encoding: [0xb9,0xeb,0xf0,0x00]
386 #CHECK: slgrk   %r0, %r15, %r0          # encoding: [0xb9,0xeb,0x00,0x0f]
387 #CHECK: slgrk   %r15, %r0, %r0          # encoding: [0xb9,0xeb,0x00,0xf0]
388 #CHECK: slgrk   %r7, %r8, %r9           # encoding: [0xb9,0xeb,0x90,0x78]
389
390         slgrk   %r0,%r0,%r0
391         slgrk   %r0,%r0,%r15
392         slgrk   %r0,%r15,%r0
393         slgrk   %r15,%r0,%r0
394         slgrk   %r7,%r8,%r9
395
396 #CHECK: slrk    %r0, %r0, %r0           # encoding: [0xb9,0xfb,0x00,0x00]
397 #CHECK: slrk    %r0, %r0, %r15          # encoding: [0xb9,0xfb,0xf0,0x00]
398 #CHECK: slrk    %r0, %r15, %r0          # encoding: [0xb9,0xfb,0x00,0x0f]
399 #CHECK: slrk    %r15, %r0, %r0          # encoding: [0xb9,0xfb,0x00,0xf0]
400 #CHECK: slrk    %r7, %r8, %r9           # encoding: [0xb9,0xfb,0x90,0x78]
401
402         slrk    %r0,%r0,%r0
403         slrk    %r0,%r0,%r15
404         slrk    %r0,%r15,%r0
405         slrk    %r15,%r0,%r0
406         slrk    %r7,%r8,%r9
407
408 #CHECK: sllk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdf]
409 #CHECK: sllk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdf]
410 #CHECK: sllk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdf]
411 #CHECK: sllk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdf]
412 #CHECK: sllk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdf]
413 #CHECK: sllk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdf]
414 #CHECK: sllk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdf]
415 #CHECK: sllk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdf]
416 #CHECK: sllk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdf]
417 #CHECK: sllk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdf]
418 #CHECK: sllk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdf]
419 #CHECK: sllk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdf]
420
421         sllk    %r0,%r0,0
422         sllk    %r15,%r1,0
423         sllk    %r1,%r15,0
424         sllk    %r15,%r15,0
425         sllk    %r0,%r0,-524288
426         sllk    %r0,%r0,-1
427         sllk    %r0,%r0,1
428         sllk    %r0,%r0,524287
429         sllk    %r0,%r0,0(%r1)
430         sllk    %r0,%r0,0(%r15)
431         sllk    %r0,%r0,524287(%r1)
432         sllk    %r0,%r0,524287(%r15)
433
434 #CHECK: srak    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xdc]
435 #CHECK: srak    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xdc]
436 #CHECK: srak    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xdc]
437 #CHECK: srak    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xdc]
438 #CHECK: srak    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xdc]
439 #CHECK: srak    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xdc]
440 #CHECK: srak    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xdc]
441 #CHECK: srak    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xdc]
442 #CHECK: srak    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xdc]
443 #CHECK: srak    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xdc]
444 #CHECK: srak    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xdc]
445 #CHECK: srak    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xdc]
446
447         srak    %r0,%r0,0
448         srak    %r15,%r1,0
449         srak    %r1,%r15,0
450         srak    %r15,%r15,0
451         srak    %r0,%r0,-524288
452         srak    %r0,%r0,-1
453         srak    %r0,%r0,1
454         srak    %r0,%r0,524287
455         srak    %r0,%r0,0(%r1)
456         srak    %r0,%r0,0(%r15)
457         srak    %r0,%r0,524287(%r1)
458         srak    %r0,%r0,524287(%r15)
459
460 #CHECK: srk     %r0, %r0, %r0           # encoding: [0xb9,0xf9,0x00,0x00]
461 #CHECK: srk     %r0, %r0, %r15          # encoding: [0xb9,0xf9,0xf0,0x00]
462 #CHECK: srk     %r0, %r15, %r0          # encoding: [0xb9,0xf9,0x00,0x0f]
463 #CHECK: srk     %r15, %r0, %r0          # encoding: [0xb9,0xf9,0x00,0xf0]
464 #CHECK: srk     %r7, %r8, %r9           # encoding: [0xb9,0xf9,0x90,0x78]
465
466         srk     %r0,%r0,%r0
467         srk     %r0,%r0,%r15
468         srk     %r0,%r15,%r0
469         srk     %r15,%r0,%r0
470         srk     %r7,%r8,%r9
471
472 #CHECK: srlk    %r0, %r0, 0             # encoding: [0xeb,0x00,0x00,0x00,0x00,0xde]
473 #CHECK: srlk    %r15, %r1, 0            # encoding: [0xeb,0xf1,0x00,0x00,0x00,0xde]
474 #CHECK: srlk    %r1, %r15, 0            # encoding: [0xeb,0x1f,0x00,0x00,0x00,0xde]
475 #CHECK: srlk    %r15, %r15, 0           # encoding: [0xeb,0xff,0x00,0x00,0x00,0xde]
476 #CHECK: srlk    %r0, %r0, -524288       # encoding: [0xeb,0x00,0x00,0x00,0x80,0xde]
477 #CHECK: srlk    %r0, %r0, -1            # encoding: [0xeb,0x00,0x0f,0xff,0xff,0xde]
478 #CHECK: srlk    %r0, %r0, 1             # encoding: [0xeb,0x00,0x00,0x01,0x00,0xde]
479 #CHECK: srlk    %r0, %r0, 524287        # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xde]
480 #CHECK: srlk    %r0, %r0, 0(%r1)        # encoding: [0xeb,0x00,0x10,0x00,0x00,0xde]
481 #CHECK: srlk    %r0, %r0, 0(%r15)       # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xde]
482 #CHECK: srlk    %r0, %r0, 524287(%r1)   # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0xde]
483 #CHECK: srlk    %r0, %r0, 524287(%r15)  # encoding: [0xeb,0x00,0xff,0xff,0x7f,0xde]
484
485         srlk    %r0,%r0,0
486         srlk    %r15,%r1,0
487         srlk    %r1,%r15,0
488         srlk    %r15,%r15,0
489         srlk    %r0,%r0,-524288
490         srlk    %r0,%r0,-1
491         srlk    %r0,%r0,1
492         srlk    %r0,%r0,524287
493         srlk    %r0,%r0,0(%r1)
494         srlk    %r0,%r0,0(%r15)
495         srlk    %r0,%r0,524287(%r1)
496         srlk    %r0,%r0,524287(%r15)
497
498 #CHECK: stoc    %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xf3]
499 #CHECK: stoc    %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xf3]
500 #CHECK: stoc    %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xf3]
501 #CHECK: stoc    %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xf3]
502 #CHECK: stoc    %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xf3]
503 #CHECK: stoc    %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xf3]
504 #CHECK: stoc    %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xf3]
505 #CHECK: stoc    %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xf3]
506
507         stoc    %r0,0,0
508         stoc    %r0,0,15
509         stoc    %r0,-524288,0
510         stoc    %r0,524287,0
511         stoc    %r0,0(%r1),0
512         stoc    %r0,0(%r15),0
513         stoc    %r15,0,0
514         stoc    %r1,4095(%r2),3
515
516 #CHECK: stoco   %r1, 2(%r3)             # encoding: [0xeb,0x11,0x30,0x02,0x00,0xf3]
517 #CHECK: stoch   %r1, 2(%r3)             # encoding: [0xeb,0x12,0x30,0x02,0x00,0xf3]
518 #CHECK: stocnle %r1, 2(%r3)             # encoding: [0xeb,0x13,0x30,0x02,0x00,0xf3]
519 #CHECK: stocl   %r1, 2(%r3)             # encoding: [0xeb,0x14,0x30,0x02,0x00,0xf3]
520 #CHECK: stocnhe %r1, 2(%r3)             # encoding: [0xeb,0x15,0x30,0x02,0x00,0xf3]
521 #CHECK: stoclh  %r1, 2(%r3)             # encoding: [0xeb,0x16,0x30,0x02,0x00,0xf3]
522 #CHECK: stocne  %r1, 2(%r3)             # encoding: [0xeb,0x17,0x30,0x02,0x00,0xf3]
523 #CHECK: stoce   %r1, 2(%r3)             # encoding: [0xeb,0x18,0x30,0x02,0x00,0xf3]
524 #CHECK: stocnlh %r1, 2(%r3)             # encoding: [0xeb,0x19,0x30,0x02,0x00,0xf3]
525 #CHECK: stoche  %r1, 2(%r3)             # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xf3]
526 #CHECK: stocnl  %r1, 2(%r3)             # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xf3]
527 #CHECK: stocle  %r1, 2(%r3)             # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xf3]
528 #CHECK: stocnh  %r1, 2(%r3)             # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xf3]
529 #CHECK: stocno  %r1, 2(%r3)             # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xf3]
530
531         stoco   %r1,2(%r3)
532         stoch   %r1,2(%r3)
533         stocnle %r1,2(%r3)
534         stocl   %r1,2(%r3)
535         stocnhe %r1,2(%r3)
536         stoclh  %r1,2(%r3)
537         stocne  %r1,2(%r3)
538         stoce   %r1,2(%r3)
539         stocnlh %r1,2(%r3)
540         stoche  %r1,2(%r3)
541         stocnl  %r1,2(%r3)
542         stocle  %r1,2(%r3)
543         stocnh  %r1,2(%r3)
544         stocno  %r1,2(%r3)
545
546 #CHECK: stocg   %r0, 0, 0               # encoding: [0xeb,0x00,0x00,0x00,0x00,0xe3]
547 #CHECK: stocg   %r0, 0, 15              # encoding: [0xeb,0x0f,0x00,0x00,0x00,0xe3]
548 #CHECK: stocg   %r0, -524288, 0         # encoding: [0xeb,0x00,0x00,0x00,0x80,0xe3]
549 #CHECK: stocg   %r0, 524287, 0          # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0xe3]
550 #CHECK: stocg   %r0, 0(%r1), 0          # encoding: [0xeb,0x00,0x10,0x00,0x00,0xe3]
551 #CHECK: stocg   %r0, 0(%r15), 0         # encoding: [0xeb,0x00,0xf0,0x00,0x00,0xe3]
552 #CHECK: stocg   %r15, 0, 0              # encoding: [0xeb,0xf0,0x00,0x00,0x00,0xe3]
553 #CHECK: stocg   %r1, 4095(%r2), 3       # encoding: [0xeb,0x13,0x2f,0xff,0x00,0xe3]
554
555         stocg   %r0,0,0
556         stocg   %r0,0,15
557         stocg   %r0,-524288,0
558         stocg   %r0,524287,0
559         stocg   %r0,0(%r1),0
560         stocg   %r0,0(%r15),0
561         stocg   %r15,0,0
562         stocg   %r1,4095(%r2),3
563
564 #CHECK: stocgo   %r1, 2(%r3)            # encoding: [0xeb,0x11,0x30,0x02,0x00,0xe3]
565 #CHECK: stocgh   %r1, 2(%r3)            # encoding: [0xeb,0x12,0x30,0x02,0x00,0xe3]
566 #CHECK: stocgnle %r1, 2(%r3)            # encoding: [0xeb,0x13,0x30,0x02,0x00,0xe3]
567 #CHECK: stocgl   %r1, 2(%r3)            # encoding: [0xeb,0x14,0x30,0x02,0x00,0xe3]
568 #CHECK: stocgnhe %r1, 2(%r3)            # encoding: [0xeb,0x15,0x30,0x02,0x00,0xe3]
569 #CHECK: stocglh  %r1, 2(%r3)            # encoding: [0xeb,0x16,0x30,0x02,0x00,0xe3]
570 #CHECK: stocgne  %r1, 2(%r3)            # encoding: [0xeb,0x17,0x30,0x02,0x00,0xe3]
571 #CHECK: stocge   %r1, 2(%r3)            # encoding: [0xeb,0x18,0x30,0x02,0x00,0xe3]
572 #CHECK: stocgnlh %r1, 2(%r3)            # encoding: [0xeb,0x19,0x30,0x02,0x00,0xe3]
573 #CHECK: stocghe  %r1, 2(%r3)            # encoding: [0xeb,0x1a,0x30,0x02,0x00,0xe3]
574 #CHECK: stocgnl  %r1, 2(%r3)            # encoding: [0xeb,0x1b,0x30,0x02,0x00,0xe3]
575 #CHECK: stocgle  %r1, 2(%r3)            # encoding: [0xeb,0x1c,0x30,0x02,0x00,0xe3]
576 #CHECK: stocgnh  %r1, 2(%r3)            # encoding: [0xeb,0x1d,0x30,0x02,0x00,0xe3]
577 #CHECK: stocgno  %r1, 2(%r3)            # encoding: [0xeb,0x1e,0x30,0x02,0x00,0xe3]
578
579         stocgo   %r1,2(%r3)
580         stocgh   %r1,2(%r3)
581         stocgnle %r1,2(%r3)
582         stocgl   %r1,2(%r3)
583         stocgnhe %r1,2(%r3)
584         stocglh  %r1,2(%r3)
585         stocgne  %r1,2(%r3)
586         stocge   %r1,2(%r3)
587         stocgnlh %r1,2(%r3)
588         stocghe  %r1,2(%r3)
589         stocgnl  %r1,2(%r3)
590         stocgle  %r1,2(%r3)
591         stocgnh  %r1,2(%r3)
592         stocgno  %r1,2(%r3)
593
594 #CHECK: xgrk    %r0, %r0, %r0           # encoding: [0xb9,0xe7,0x00,0x00]
595 #CHECK: xgrk    %r0, %r0, %r15          # encoding: [0xb9,0xe7,0xf0,0x00]
596 #CHECK: xgrk    %r0, %r15, %r0          # encoding: [0xb9,0xe7,0x00,0x0f]
597 #CHECK: xgrk    %r15, %r0, %r0          # encoding: [0xb9,0xe7,0x00,0xf0]
598 #CHECK: xgrk    %r7, %r8, %r9           # encoding: [0xb9,0xe7,0x90,0x78]
599
600         xgrk    %r0,%r0,%r0
601         xgrk    %r0,%r0,%r15
602         xgrk    %r0,%r15,%r0
603         xgrk    %r15,%r0,%r0
604         xgrk    %r7,%r8,%r9
605
606 #CHECK: xrk     %r0, %r0, %r0           # encoding: [0xb9,0xf7,0x00,0x00]
607 #CHECK: xrk     %r0, %r0, %r15          # encoding: [0xb9,0xf7,0xf0,0x00]
608 #CHECK: xrk     %r0, %r15, %r0          # encoding: [0xb9,0xf7,0x00,0x0f]
609 #CHECK: xrk     %r15, %r0, %r0          # encoding: [0xb9,0xf7,0x00,0xf0]
610 #CHECK: xrk     %r7, %r8, %r9           # encoding: [0xb9,0xf7,0x90,0x78]
611
612         xrk     %r0,%r0,%r0
613         xrk     %r0,%r0,%r15
614         xrk     %r0,%r15,%r0
615         xrk     %r15,%r0,%r0
616         xrk     %r7,%r8,%r9