[PowerPC] Support compare mnemonics with implied CR0
[oota-llvm.git] / test / MC / PowerPC / ppc64-encoding-ext.s
1
2 # RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck %s
3
4 # FIXME: Condition register bit symbols
5
6 # Branch mnemonics
7
8 # CHECK: blr                             # encoding: [0x4e,0x80,0x00,0x20]
9          blr
10 # CHECK: bctr                            # encoding: [0x4e,0x80,0x04,0x20]
11          bctr
12 # FIXME: blrl
13 # CHECK: bctrl                           # encoding: [0x4e,0x80,0x04,0x21]
14          bctrl
15
16 # FIXME: bt 2, target
17 # FIXME: bt target
18 # FIXME: bta 2, target
19 # FIXME: bta target
20 # FIXME: btlr 2
21 # FIXME: btlr
22 # FIXME: btctr 2
23 # FIXME: btctr
24 # FIXME: btl 2, target
25 # FIXME: btl target
26 # FIXME: btla 2, target
27 # FIXME: btla target
28 # FIXME: btlrl 2
29 # FIXME: btlrl
30 # FIXME: btctrl 2
31 # FIXME: btctrl
32
33 # FIXME: bf 2, target
34 # FIXME: bf target
35 # FIXME: bfa 2, target
36 # FIXME: bfa target
37 # FIXME: bflr 2
38 # FIXME: bflr
39 # FIXME: bfctr 2
40 # FIXME: bfctr
41 # FIXME: bfl 2, target
42 # FIXME: bfl target
43 # FIXME: bfla 2, target
44 # FIXME: bfla target
45 # FIXME: bflrl 2
46 # FIXME: bflrl
47 # FIXME: bfctrl 2
48 # FIXME: bfctrl
49
50 # CHECK: bdnz target                     # encoding: [0x42,0x00,A,0bAAAAAA00]
51 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
52          bdnz target
53 # FIXME: bdnza target
54 # CHECK: bdnzlr                          # encoding: [0x4e,0x00,0x00,0x20]
55          bdnzlr
56 # FIXME: bdnzl target
57 # FIXME: bdnzla target
58 # FIXME: bdnzlrl
59
60 # FIXME: bdnzt 2, target
61 # FIXME: bdnzt target
62 # FIXME: bdnzta 2, target
63 # FIXME: bdnzta target
64 # FIXME: bdnztlr 2
65 # FIXME: bdnztlr
66 # FIXME: bdnztl 2, target
67 # FIXME: bdnztl target
68 # FIXME: bdnztla 2, target
69 # FIXME: bdnztla target
70 # FIXME: bdnztlrl 2
71 # FIXME: bdnztlrl
72 # FIXME: bdnzf 2, target
73 # FIXME: bdnzf target
74 # FIXME: bdnzfa 2, target
75 # FIXME: bdnzfa target
76 # FIXME: bdnzflr 2
77 # FIXME: bdnzflr
78 # FIXME: bdnzfl 2, target
79 # FIXME: bdnzfl target
80 # FIXME: bdnzfla 2, target
81 # FIXME: bdnzfla target
82 # FIXME: bdnzflrl 2
83 # FIXME: bdnzflrl
84
85 # CHECK: bdz target                      # encoding: [0x42,0x40,A,0bAAAAAA00]
86 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
87          bdz target
88 # FIXME: bdza target
89 # CHECK: bdzlr                           # encoding: [0x4e,0x40,0x00,0x20]
90          bdzlr
91 # FIXME: bdzl target
92 # FIXME: bdzla target
93 # FIXME: bdzlrl
94
95 # FIXME: bdzt 2, target
96 # FIXME: bdzt target
97 # FIXME: bdzta 2, target
98 # FIXME: bdzta target
99 # FIXME: bdztlr 2
100 # FIXME: bdztlr
101 # FIXME: bdztl 2, target
102 # FIXME: bdztl target
103 # FIXME: bdztla 2, target
104 # FIXME: bdztla target
105 # FIXME: bdztlrl 2
106 # FIXME: bdztlrl
107 # FIXME: bdzf 2, target
108 # FIXME: bdzf target
109 # FIXME: bdzfa 2, target
110 # FIXME: bdzfa target
111 # FIXME: bdzflr 2
112 # FIXME: bdzflr
113 # FIXME: bdzfl 2, target
114 # FIXME: bdzfl target
115 # FIXME: bdzfla 2, target
116 # FIXME: bdzfla target
117 # FIXME: bdzflrl 2
118 # FIXME: bdzflrl
119
120 # CHECK: blt 2, target                   # encoding: [0x41,0x88,A,0bAAAAAA00]
121 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
122          blt 2, target
123 # CHECK: blt 0, target                   # encoding: [0x41,0x80,A,0bAAAAAA00]
124 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
125          blt target
126 # FIXME: blta 2, target
127 # FIXME: blta target
128 # CHECK: bltlr 2                         # encoding: [0x4d,0x88,0x00,0x20]
129          bltlr 2
130 # CHECK: bltlr 0                         # encoding: [0x4d,0x80,0x00,0x20]
131          bltlr
132 # CHECK: bltctr 2                        # encoding: [0x4d,0x88,0x04,0x20]
133          bltctr 2
134 # CHECK: bltctr 0                        # encoding: [0x4d,0x80,0x04,0x20]
135          bltctr
136 # FIXME: bltl 2, target
137 # FIXME: bltl target
138 # FIXME: bltla 2, target
139 # FIXME: bltla target
140 # FIXME: bltlrl 2
141 # FIXME: bltlrl
142 # CHECK: bltctrl 2                       # encoding: [0x4d,0x88,0x04,0x21]
143          bltctrl 2
144 # CHECK: bltctrl 0                       # encoding: [0x4d,0x80,0x04,0x21]
145          bltctrl
146
147 # CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
148 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
149          ble 2, target
150 # CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
151 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
152          ble target
153 # FIXME: blea 2, target
154 # FIXME: blea target
155 # CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
156          blelr 2
157 # CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
158          blelr
159 # CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
160          blectr 2
161 # CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
162          blectr
163 # FIXME: blel 2, target
164 # FIXME: blel target
165 # FIXME: blela 2, target
166 # FIXME: blela target
167 # FIXME: blelrl 2
168 # FIXME: blelrl
169 # CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
170          blectrl 2
171 # CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
172          blectrl
173
174 # CHECK: beq 2, target                   # encoding: [0x41,0x8a,A,0bAAAAAA00]
175 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
176          beq 2, target
177 # CHECK: beq 0, target                   # encoding: [0x41,0x82,A,0bAAAAAA00]
178 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
179          beq target
180 # FIXME: beqa 2, target
181 # FIXME: beqa target
182 # CHECK: beqlr 2                         # encoding: [0x4d,0x8a,0x00,0x20]
183          beqlr 2
184 # CHECK: beqlr 0                         # encoding: [0x4d,0x82,0x00,0x20]
185          beqlr
186 # CHECK: beqctr 2                        # encoding: [0x4d,0x8a,0x04,0x20]
187          beqctr 2
188 # CHECK: beqctr 0                        # encoding: [0x4d,0x82,0x04,0x20]
189          beqctr
190 # FIXME: beql 2, target
191 # FIXME: beql target
192 # FIXME: beqla 2, target
193 # FIXME: beqla target
194 # FIXME: beqlrl 2
195 # FIXME: beqlrl
196 # CHECK: beqctrl 2                       # encoding: [0x4d,0x8a,0x04,0x21]
197          beqctrl 2
198 # CHECK: beqctrl 0                       # encoding: [0x4d,0x82,0x04,0x21]
199          beqctrl
200
201 # CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
202 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
203          bge 2, target
204 # CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
205 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
206          bge target
207 # FIXME: bgea 2, target
208 # FIXME: bgea target
209 # CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
210          bgelr 2
211 # CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
212          bgelr
213 # CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
214          bgectr 2
215 # CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
216          bgectr
217 # FIXME: bgel 2, target
218 # FIXME: bgel target
219 # FIXME: bgela 2, target
220 # FIXME: bgela target
221 # FIXME: bgelrl 2
222 # FIXME: bgelrl
223 # CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
224          bgectrl 2
225 # CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
226          bgectrl
227
228 # CHECK: bgt 2, target                   # encoding: [0x41,0x89,A,0bAAAAAA00]
229 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
230          bgt 2, target
231 # CHECK: bgt 0, target                   # encoding: [0x41,0x81,A,0bAAAAAA00]
232 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
233          bgt target
234 # FIXME: bgta 2, target
235 # FIXME: bgta target
236 # CHECK: bgtlr 2                         # encoding: [0x4d,0x89,0x00,0x20]
237          bgtlr 2
238 # CHECK: bgtlr 0                         # encoding: [0x4d,0x81,0x00,0x20]
239          bgtlr
240 # CHECK: bgtctr 2                        # encoding: [0x4d,0x89,0x04,0x20]
241          bgtctr 2
242 # CHECK: bgtctr 0                        # encoding: [0x4d,0x81,0x04,0x20]
243          bgtctr
244 # FIXME: bgtl 2, target
245 # FIXME: bgtl target
246 # FIXME: bgtla 2, target
247 # FIXME: bgtla target
248 # FIXME: bgtlrl 2
249 # FIXME: bgtlrl
250 # CHECK: bgtctrl 2                       # encoding: [0x4d,0x89,0x04,0x21]
251          bgtctrl 2
252 # CHECK: bgtctrl 0                       # encoding: [0x4d,0x81,0x04,0x21]
253          bgtctrl
254
255 # CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
256 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
257          bnl 2, target
258 # CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
259 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
260          bnl target
261 # FIXME: bnla 2, target
262 # FIXME: bnla target
263 # CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
264          bnllr 2
265 # CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
266          bnllr
267 # CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
268          bnlctr 2
269 # CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
270          bnlctr
271 # FIXME: bnll 2, target
272 # FIXME: bnll target
273 # FIXME: bnlla 2, target
274 # FIXME: bnlla target
275 # FIXME: bnllrl 2
276 # FIXME: bnllrl
277 # CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
278          bnlctrl 2
279 # CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
280          bnlctrl
281
282 # CHECK: bne 2, target                   # encoding: [0x40,0x8a,A,0bAAAAAA00]
283 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
284          bne 2, target
285 # CHECK: bne 0, target                   # encoding: [0x40,0x82,A,0bAAAAAA00]
286 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
287          bne target
288 # FIXME: bnea 2, target
289 # FIXME: bnea target
290 # CHECK: bnelr 2                         # encoding: [0x4c,0x8a,0x00,0x20]
291          bnelr 2
292 # CHECK: bnelr 0                         # encoding: [0x4c,0x82,0x00,0x20]
293          bnelr
294 # CHECK: bnectr 2                        # encoding: [0x4c,0x8a,0x04,0x20]
295          bnectr 2
296 # CHECK: bnectr 0                        # encoding: [0x4c,0x82,0x04,0x20]
297          bnectr
298 # FIXME: bnel 2, target
299 # FIXME: bnel target
300 # FIXME: bnela 2, target
301 # FIXME: bnela target
302 # FIXME: bnelrl 2
303 # FIXME: bnelrl
304 # CHECK: bnectrl 2                       # encoding: [0x4c,0x8a,0x04,0x21]
305          bnectrl 2
306 # CHECK: bnectrl 0                       # encoding: [0x4c,0x82,0x04,0x21]
307          bnectrl
308
309 # CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
310 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
311          bng 2, target
312 # CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
313 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
314          bng target
315 # FIXME: bnga 2, target
316 # FIXME: bnga target
317 # CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
318          bnglr 2
319 # CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
320          bnglr
321 # CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
322          bngctr 2
323 # CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
324          bngctr
325 # FIXME: bngl 2, target
326 # FIXME: bngl target
327 # FIXME: bngla 2, target
328 # FIXME: bngla target
329 # FIXME: bnglrl 2
330 # FIXME: bnglrl
331 # CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
332          bngctrl 2
333 # CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
334          bngctrl
335
336 # CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
337 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
338          bso 2, target
339 # CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
340 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
341          bso target
342 # FIXME: bsoa 2, target
343 # FIXME: bsoa target
344 # CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
345          bsolr 2
346 # CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
347          bsolr
348 # CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
349          bsoctr 2
350 # CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
351          bsoctr
352 # FIXME: bsol 2, target
353 # FIXME: bsol target
354 # FIXME: bsola 2, target
355 # FIXME: bsola target
356 # FIXME: bsolrl 2
357 # FIXME: bsolrl
358 # CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
359          bsoctrl 2
360 # CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
361          bsoctrl
362
363 # CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
364 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
365          bns 2, target
366 # CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
367 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
368          bns target
369 # FIXME: bnsa 2, target
370 # FIXME: bnsa target
371 # CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
372          bnslr 2
373 # CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
374          bnslr
375 # CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
376          bnsctr 2
377 # CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
378          bnsctr
379 # FIXME: bnsl 2, target
380 # FIXME: bnsl target
381 # FIXME: bnsla 2, target
382 # FIXME: bnsla target
383 # FIXME: bnslrl 2
384 # FIXME: bnslrl
385 # CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
386          bnsctrl 2
387 # CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
388          bnsctrl
389
390 # CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
391 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
392          bun 2, target
393 # CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
394 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
395          bun target
396 # FIXME: buna 2, target
397 # FIXME: buna target
398 # CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
399          bunlr 2
400 # CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
401          bunlr
402 # CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
403          bunctr 2
404 # CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
405          bunctr
406 # FIXME: bunl 2, target
407 # FIXME: bunl target
408 # FIXME: bunla 2, target
409 # FIXME: bunla target
410 # FIXME: bunlrl 2
411 # FIXME: bunlrl
412 # CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
413          bunctrl 2
414 # CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
415          bunctrl
416
417 # CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
418 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
419          bnu 2, target
420 # CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
421 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
422          bnu target
423 # FIXME: bnua 2, target
424 # FIXME: bnua target
425 # CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
426          bnulr 2
427 # CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
428          bnulr
429 # CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
430          bnuctr 2
431 # CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
432          bnuctr
433 # FIXME: bnul 2, target
434 # FIXME: bnul target
435 # FIXME: bnula 2, target
436 # FIXME: bnula target
437 # FIXME: bnulrl 2
438 # FIXME: bnulrl
439 # CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
440          bnuctrl 2
441 # CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
442          bnuctrl
443
444 # FIXME: Condition register logical mnemonics
445
446 # FIXME: Subtract mnemonics
447
448 # Compare mnemonics
449
450 # CHECK: cmpdi 2, 3, 128                 # encoding: [0x2d,0x23,0x00,0x80]
451          cmpdi 2, 3, 128
452 # CHECK: cmpdi 0, 3, 128                 # encoding: [0x2c,0x23,0x00,0x80]
453          cmpdi 3, 128
454 # CHECK: cmpd 2, 3, 4                    # encoding: [0x7d,0x23,0x20,0x00]
455          cmpd 2, 3, 4
456 # CHECK: cmpd 0, 3, 4                    # encoding: [0x7c,0x23,0x20,0x00]
457          cmpd 3, 4
458 # CHECK: cmpldi 2, 3, 128                # encoding: [0x29,0x23,0x00,0x80]
459          cmpldi 2, 3, 128
460 # CHECK: cmpldi 0, 3, 128                # encoding: [0x28,0x23,0x00,0x80]
461          cmpldi 3, 128
462 # CHECK: cmpld 2, 3, 4                   # encoding: [0x7d,0x23,0x20,0x40]
463          cmpld 2, 3, 4
464 # CHECK: cmpld 0, 3, 4                   # encoding: [0x7c,0x23,0x20,0x40]
465          cmpld 3, 4
466
467 # CHECK: cmpwi 2, 3, 128                 # encoding: [0x2d,0x03,0x00,0x80]
468          cmpwi 2, 3, 128
469 # CHECK: cmpwi 0, 3, 128                 # encoding: [0x2c,0x03,0x00,0x80]
470          cmpwi 3, 128
471 # CHECK: cmpw 2, 3, 4                    # encoding: [0x7d,0x03,0x20,0x00]
472          cmpw 2, 3, 4
473 # CHECK: cmpw 0, 3, 4                    # encoding: [0x7c,0x03,0x20,0x00]
474          cmpw 3, 4
475 # CHECK: cmplwi 2, 3, 128                # encoding: [0x29,0x03,0x00,0x80]
476          cmplwi 2, 3, 128
477 # CHECK: cmplwi 0, 3, 128                # encoding: [0x28,0x03,0x00,0x80]
478          cmplwi 3, 128
479 # CHECK: cmplw 2, 3, 4                   # encoding: [0x7d,0x03,0x20,0x40]
480          cmplw 2, 3, 4
481 # CHECK: cmplw 0, 3, 4                   # encoding: [0x7c,0x03,0x20,0x40]
482          cmplw 3, 4
483
484 # FIXME: Trap mnemonics
485
486 # Rotate and shift mnemonics
487
488 # FIXME: extldi 2, 3, 4, 5
489 # FIXME: extrdi 2, 3, 4, 5
490 # FIXME: insrdi 2, 3, 4, 5
491 # FIXME: rotldi 2, 3, 4
492 # FIXME: rotrdi 2, 3, 4
493 # FIXME: rotld 2, 3, 4
494 # CHECK: sldi 2, 3, 4                    # encoding: [0x78,0x62,0x26,0xe4]
495          sldi 2, 3, 4
496 # CHECK: rldicl 2, 3, 60, 4              # encoding: [0x78,0x62,0xe1,0x02]
497          srdi 2, 3, 4
498 # FIXME: clrldi 2, 3, 4
499 # FIXME: clrrdi 2, 3, 4
500 # FIXME: clrlsldi 2, 3, 4, 5
501
502 # FIXME: extlwi 2, 3, 4, 5
503 # FIXME: extrwi 2, 3, 4, 5
504 # FIXME: inslwi 2, 3, 4, 5
505 # FIXME: insrwi 2, 3, 4, 5
506 # FIXME: rotlwi 2, 3, 4
507 # FIXME: rotrwi 2, 3, 4
508 # FIXME: rotlw 2, 3, 4
509 # CHECK: slwi 2, 3, 4                    # encoding: [0x54,0x62,0x20,0x36]
510          slwi 2, 3, 4
511 # CHECK: srwi 2, 3, 4                    # encoding: [0x54,0x62,0xe1,0x3e]
512          srwi 2, 3, 4
513 # FIXME: clrlwi 2, 3, 4
514 # FIXME: clrrwi 2, 3, 4
515 # FIXME: clrlslwi 2, 3, 4, 5
516
517 # Move to/from special purpose register mnemonics
518
519 # FIXME: mtxer 2
520 # FIXME: mfxer 2
521 # CHECK: mtlr 2                          # encoding: [0x7c,0x48,0x03,0xa6]
522          mtlr 2
523 # CHECK: mflr 2                          # encoding: [0x7c,0x48,0x02,0xa6]
524          mflr 2
525 # CHECK: mtctr 2                         # encoding: [0x7c,0x49,0x03,0xa6]
526          mtctr 2
527 # CHECK: mfctr 2                         # encoding: [0x7c,0x49,0x02,0xa6]
528          mfctr 2
529
530 # Miscellaneous mnemonics
531
532 # CHECK: nop                             # encoding: [0x60,0x00,0x00,0x00]
533          nop
534 # FIXME: xnop
535 # CHECK: li 2, 128                       # encoding: [0x38,0x40,0x00,0x80]
536          li 2, 128
537 # CHECK: lis 2, 128                      # encoding: [0x3c,0x40,0x00,0x80]
538          lis 2, 128
539 # FIXME: la 2, 128(4)
540 # CHECK: mr 2, 3                         # encoding: [0x7c,0x62,0x1b,0x78]
541          mr 2, 3
542 # FIXME: not 2, 3
543