[PowerPC] Add t/f branch mnemonics to asm parser
[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 # CHECK: blrl                            # encoding: [0x4e,0x80,0x00,0x21]
13          blrl
14 # CHECK: bctrl                           # encoding: [0x4e,0x80,0x04,0x21]
15          bctrl
16
17 # CHECK: bc 12, 2, target                # encoding: [0x41,0x82,A,0bAAAAAA00]
18 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
19          bt 2, target
20 # CHECK: bca 12, 2, target               # encoding: [0x41,0x82,A,0bAAAAAA10]
21 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
22          bta 2, target
23 # CHECK: bclr 12, 2, 0                   # encoding: [0x4d,0x82,0x00,0x20]
24          btlr 2
25 # CHECK: bcctr 12, 2, 0                  # encoding: [0x4d,0x82,0x04,0x20]
26          btctr 2
27 # CHECK: bcl 12, 2, target               # encoding: [0x41,0x82,A,0bAAAAAA01]
28 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
29          btl 2, target
30 # CHECK: bcla 12, 2, target              # encoding: [0x41,0x82,A,0bAAAAAA11]
31 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
32          btla 2, target
33 # CHECK: bclrl 12, 2, 0                  # encoding: [0x4d,0x82,0x00,0x21]
34          btlrl 2
35 # CHECK: bcctrl 12, 2, 0                 # encoding: [0x4d,0x82,0x04,0x21]
36          btctrl 2
37
38 # CHECK: bc 4, 2, target                 # encoding: [0x40,0x82,A,0bAAAAAA00]
39 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
40          bf 2, target
41 # CHECK: bca 4, 2, target                # encoding: [0x40,0x82,A,0bAAAAAA10]
42 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
43          bfa 2, target
44 # CHECK: bclr 4, 2, 0                    # encoding: [0x4c,0x82,0x00,0x20]
45          bflr 2
46 # CHECK: bcctr 4, 2, 0                   # encoding: [0x4c,0x82,0x04,0x20]
47          bfctr 2
48 # CHECK: bcl 4, 2, target                # encoding: [0x40,0x82,A,0bAAAAAA01]
49 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
50          bfl 2, target
51 # CHECK: bcla 4, 2, target               # encoding: [0x40,0x82,A,0bAAAAAA11]
52 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
53          bfla 2, target
54 # CHECK: bclrl 4, 2, 0                   # encoding: [0x4c,0x82,0x00,0x21]
55          bflrl 2
56 # CHECK: bcctrl 4, 2, 0                  # encoding: [0x4c,0x82,0x04,0x21]
57          bfctrl 2
58
59 # CHECK: bdnz target                     # encoding: [0x42,0x00,A,0bAAAAAA00]
60 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
61          bdnz target
62 # CHECK: bdnza target                    # encoding: [0x42,0x00,A,0bAAAAAA10]
63 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
64          bdnza target
65 # CHECK: bdnzlr                          # encoding: [0x4e,0x00,0x00,0x20]
66          bdnzlr
67 # CHECK: bdnzl target                    # encoding: [0x42,0x00,A,0bAAAAAA01]
68 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
69          bdnzl target
70 # CHECK: bdnzla target                   # encoding: [0x42,0x00,A,0bAAAAAA11]
71 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
72          bdnzla target
73 # CHECK: bdnzlrl                         # encoding: [0x4e,0x00,0x00,0x21]
74          bdnzlrl
75
76 # CHECK: bc 8, 2, target                 # encoding: [0x41,0x02,A,0bAAAAAA00]
77 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
78          bdnzt 2, target
79 # CHECK: bca 8, 2, target                # encoding: [0x41,0x02,A,0bAAAAAA10]
80 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
81          bdnzta 2, target
82 # CHECK: bclr 8, 2, 0                    # encoding: [0x4d,0x02,0x00,0x20]
83          bdnztlr 2
84 # CHECK: bcl 8, 2, target                # encoding: [0x41,0x02,A,0bAAAAAA01]
85 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
86          bdnztl 2, target
87 # CHECK: bcla 8, 2, target               # encoding: [0x41,0x02,A,0bAAAAAA11]
88 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
89          bdnztla 2, target
90 # CHECK: bclrl 8, 2, 0                   # encoding: [0x4d,0x02,0x00,0x21]
91          bdnztlrl 2
92
93 # CHECK: bc 0, 2, target                 # encoding: [0x40,0x02,A,0bAAAAAA00]
94 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
95          bdnzf 2, target
96 # CHECK: bca 0, 2, target                # encoding: [0x40,0x02,A,0bAAAAAA10]
97 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
98          bdnzfa 2, target
99 # CHECK: bclr 0, 2, 0                    # encoding: [0x4c,0x02,0x00,0x20]
100          bdnzflr 2
101 # CHECK: bcl 0, 2, target                # encoding: [0x40,0x02,A,0bAAAAAA01]
102 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
103          bdnzfl 2, target
104 # CHECK: bcla 0, 2, target               # encoding: [0x40,0x02,A,0bAAAAAA11]
105 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
106          bdnzfla 2, target
107 # CHECK: bclrl 0, 2, 0                   # encoding: [0x4c,0x02,0x00,0x21]
108          bdnzflrl 2
109
110 # CHECK: bdz target                      # encoding: [0x42,0x40,A,0bAAAAAA00]
111 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
112          bdz target
113 # CHECK: bdza target                     # encoding: [0x42,0x40,A,0bAAAAAA10]
114 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
115          bdza target
116 # CHECK: bdzlr                           # encoding: [0x4e,0x40,0x00,0x20]
117          bdzlr
118 # CHECK: bdzl target                     # encoding: [0x42,0x40,A,0bAAAAAA01]
119 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
120          bdzl target
121 # CHECK: bdzla target                    # encoding: [0x42,0x40,A,0bAAAAAA11]
122 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
123          bdzla target
124 # CHECK: bdzlrl                          # encoding: [0x4e,0x40,0x00,0x21]
125          bdzlrl
126
127 # CHECK: bc 10, 2, target                # encoding: [0x41,0x42,A,0bAAAAAA00]
128 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
129          bdzt 2, target
130 # CHECK: bca 10, 2, target               # encoding: [0x41,0x42,A,0bAAAAAA10]
131 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
132          bdzta 2, target
133 # CHECK: bclr 10, 2, 0                   # encoding: [0x4d,0x42,0x00,0x20]
134          bdztlr 2
135 # CHECK: bcl 10, 2, target               # encoding: [0x41,0x42,A,0bAAAAAA01]
136 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
137          bdztl 2, target
138 # CHECK: bcla 10, 2, target              # encoding: [0x41,0x42,A,0bAAAAAA11]
139 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
140          bdztla 2, target
141 # CHECK: bclrl 10, 2, 0                  # encoding: [0x4d,0x42,0x00,0x21]
142          bdztlrl 2
143
144 # CHECK: bc 2, 2, target                 # encoding: [0x40,0x42,A,0bAAAAAA00]
145 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
146          bdzf 2, target
147 # CHECK: bca 2, 2, target                # encoding: [0x40,0x42,A,0bAAAAAA10]
148 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
149          bdzfa 2, target
150 # CHECK: bclr 2, 2, 0                    # encoding: [0x4c,0x42,0x00,0x20]
151          bdzflr 2
152 # CHECK: bcl 2, 2, target                # encoding: [0x40,0x42,A,0bAAAAAA01]
153 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
154          bdzfl 2, target
155 # CHECK: bcla 2, 2, target               # encoding: [0x40,0x42,A,0bAAAAAA11]
156 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
157          bdzfla 2, target
158 # CHECK: bclrl 2, 2, 0                   # encoding: [0x4c,0x42,0x00,0x21]
159          bdzflrl 2
160
161 # CHECK: blt 2, target                   # encoding: [0x41,0x88,A,0bAAAAAA00]
162 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
163          blt 2, target
164 # CHECK: blt 0, target                   # encoding: [0x41,0x80,A,0bAAAAAA00]
165 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
166          blt target
167 # CHECK: blta 2, target                  # encoding: [0x41,0x88,A,0bAAAAAA10]
168 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
169          blta 2, target
170 # CHECK: blta 0, target                  # encoding: [0x41,0x80,A,0bAAAAAA10]
171 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
172          blta target
173 # CHECK: bltlr 2                         # encoding: [0x4d,0x88,0x00,0x20]
174          bltlr 2
175 # CHECK: bltlr 0                         # encoding: [0x4d,0x80,0x00,0x20]
176          bltlr
177 # CHECK: bltctr 2                        # encoding: [0x4d,0x88,0x04,0x20]
178          bltctr 2
179 # CHECK: bltctr 0                        # encoding: [0x4d,0x80,0x04,0x20]
180          bltctr
181 # CHECK: bltl 2, target                  # encoding: [0x41,0x88,A,0bAAAAAA01]
182 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
183          bltl 2, target
184 # CHECK: bltl 0, target                  # encoding: [0x41,0x80,A,0bAAAAAA01]
185 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
186          bltl target
187 # CHECK: bltla 2, target                 # encoding: [0x41,0x88,A,0bAAAAAA11]
188 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
189          bltla 2, target
190 # CHECK: bltla 0, target                 # encoding: [0x41,0x80,A,0bAAAAAA11]
191 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
192          bltla target
193 # CHECK: bltlrl 2                        # encoding: [0x4d,0x88,0x00,0x21]
194          bltlrl 2
195 # CHECK: bltlrl 0                        # encoding: [0x4d,0x80,0x00,0x21]
196          bltlrl
197 # CHECK: bltctrl 2                       # encoding: [0x4d,0x88,0x04,0x21]
198          bltctrl 2
199 # CHECK: bltctrl 0                       # encoding: [0x4d,0x80,0x04,0x21]
200          bltctrl
201
202 # CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
203 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
204          ble 2, target
205 # CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
206 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
207          ble target
208 # CHECK: blea 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA10]
209 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
210          blea 2, target
211 # CHECK: blea 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA10]
212 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
213          blea target
214 # CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
215          blelr 2
216 # CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
217          blelr
218 # CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
219          blectr 2
220 # CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
221          blectr
222 # CHECK: blel 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA01]
223 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
224          blel 2, target
225 # CHECK: blel 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA01]
226 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
227          blel target
228 # CHECK: blela 2, target                 # encoding: [0x40,0x89,A,0bAAAAAA11]
229 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
230          blela 2, target
231 # CHECK: blela 0, target                 # encoding: [0x40,0x81,A,0bAAAAAA11]
232 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
233          blela target
234 # CHECK: blelrl 2                        # encoding: [0x4c,0x89,0x00,0x21]
235          blelrl 2
236 # CHECK: blelrl 0                        # encoding: [0x4c,0x81,0x00,0x21]
237          blelrl
238 # CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
239          blectrl 2
240 # CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
241          blectrl
242
243 # CHECK: beq 2, target                   # encoding: [0x41,0x8a,A,0bAAAAAA00]
244 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
245          beq 2, target
246 # CHECK: beq 0, target                   # encoding: [0x41,0x82,A,0bAAAAAA00]
247 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
248          beq target
249 # CHECK: beqa 2, target                  # encoding: [0x41,0x8a,A,0bAAAAAA10]
250 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
251          beqa 2, target
252 # CHECK: beqa 0, target                  # encoding: [0x41,0x82,A,0bAAAAAA10]
253 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
254          beqa target
255 # CHECK: beqlr 2                         # encoding: [0x4d,0x8a,0x00,0x20]
256          beqlr 2
257 # CHECK: beqlr 0                         # encoding: [0x4d,0x82,0x00,0x20]
258          beqlr
259 # CHECK: beqctr 2                        # encoding: [0x4d,0x8a,0x04,0x20]
260          beqctr 2
261 # CHECK: beqctr 0                        # encoding: [0x4d,0x82,0x04,0x20]
262          beqctr
263 # CHECK: beql 2, target                  # encoding: [0x41,0x8a,A,0bAAAAAA01]
264 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
265          beql 2, target
266 # CHECK: beql 0, target                  # encoding: [0x41,0x82,A,0bAAAAAA01]
267 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
268          beql target
269 # CHECK: beqla 2, target                 # encoding: [0x41,0x8a,A,0bAAAAAA11]
270 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
271          beqla 2, target
272 # CHECK: beqla 0, target                 # encoding: [0x41,0x82,A,0bAAAAAA11]
273 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
274          beqla target
275 # CHECK: beqlrl 2                        # encoding: [0x4d,0x8a,0x00,0x21]
276          beqlrl 2
277 # CHECK: beqlrl 0                        # encoding: [0x4d,0x82,0x00,0x21]
278          beqlrl
279 # CHECK: beqctrl 2                       # encoding: [0x4d,0x8a,0x04,0x21]
280          beqctrl 2
281 # CHECK: beqctrl 0                       # encoding: [0x4d,0x82,0x04,0x21]
282          beqctrl
283
284 # CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
285 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
286          bge 2, target
287 # CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
288 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
289          bge target
290 # CHECK: bgea 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA10]
291 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
292          bgea 2, target
293 # CHECK: bgea 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA10]
294 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
295          bgea target
296 # CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
297          bgelr 2
298 # CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
299          bgelr
300 # CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
301          bgectr 2
302 # CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
303          bgectr
304 # CHECK: bgel 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA01]
305 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
306          bgel 2, target
307 # CHECK: bgel 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA01]
308 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
309          bgel target
310 # CHECK: bgela 2, target                 # encoding: [0x40,0x88,A,0bAAAAAA11]
311 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
312          bgela 2, target
313 # CHECK: bgela 0, target                 # encoding: [0x40,0x80,A,0bAAAAAA11]
314 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
315          bgela target
316 # CHECK: bgelrl 2                        # encoding: [0x4c,0x88,0x00,0x21]
317          bgelrl 2
318 # CHECK: bgelrl 0                        # encoding: [0x4c,0x80,0x00,0x21]
319          bgelrl
320 # CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
321          bgectrl 2
322 # CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
323          bgectrl
324
325 # CHECK: bgt 2, target                   # encoding: [0x41,0x89,A,0bAAAAAA00]
326 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
327          bgt 2, target
328 # CHECK: bgt 0, target                   # encoding: [0x41,0x81,A,0bAAAAAA00]
329 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
330          bgt target
331 # CHECK: bgta 2, target                  # encoding: [0x41,0x89,A,0bAAAAAA10]
332 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
333          bgta 2, target
334 # CHECK: bgta 0, target                  # encoding: [0x41,0x81,A,0bAAAAAA10]
335 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
336          bgta target
337 # CHECK: bgtlr 2                         # encoding: [0x4d,0x89,0x00,0x20]
338          bgtlr 2
339 # CHECK: bgtlr 0                         # encoding: [0x4d,0x81,0x00,0x20]
340          bgtlr
341 # CHECK: bgtctr 2                        # encoding: [0x4d,0x89,0x04,0x20]
342          bgtctr 2
343 # CHECK: bgtctr 0                        # encoding: [0x4d,0x81,0x04,0x20]
344          bgtctr
345 # CHECK: bgtl 2, target                  # encoding: [0x41,0x89,A,0bAAAAAA01]
346 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
347          bgtl 2, target
348 # CHECK: bgtl 0, target                  # encoding: [0x41,0x81,A,0bAAAAAA01]
349 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
350          bgtl target
351 # CHECK: bgtla 2, target                 # encoding: [0x41,0x89,A,0bAAAAAA11]
352 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
353          bgtla 2, target
354 # CHECK: bgtla 0, target                 # encoding: [0x41,0x81,A,0bAAAAAA11]
355 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
356          bgtla target
357 # CHECK: bgtlrl 2                        # encoding: [0x4d,0x89,0x00,0x21]
358          bgtlrl 2
359 # CHECK: bgtlrl 0                        # encoding: [0x4d,0x81,0x00,0x21]
360          bgtlrl
361 # CHECK: bgtctrl 2                       # encoding: [0x4d,0x89,0x04,0x21]
362          bgtctrl 2
363 # CHECK: bgtctrl 0                       # encoding: [0x4d,0x81,0x04,0x21]
364          bgtctrl
365
366 # CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
367 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
368          bnl 2, target
369 # CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
370 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
371          bnl target
372 # CHECK: bgea 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA10]
373 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
374          bnla 2, target
375 # CHECK: bgea 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA10]
376 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
377          bnla target
378 # CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
379          bnllr 2
380 # CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
381          bnllr
382 # CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
383          bnlctr 2
384 # CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
385          bnlctr
386 # CHECK: bgel 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA01]
387 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
388          bnll 2, target
389 # CHECK: bgel 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA01]
390 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
391          bnll target
392 # CHECK: bgela 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA11]
393 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
394          bnlla 2, target
395 # CHECK: bgela 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA11]
396 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
397          bnlla target
398 # CHECK: bgelrl 2                        # encoding: [0x4c,0x88,0x00,0x21]
399          bnllrl 2
400 # CHECK: bgelrl 0                        # encoding: [0x4c,0x80,0x00,0x21]
401          bnllrl
402 # CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
403          bnlctrl 2
404 # CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
405          bnlctrl
406
407 # CHECK: bne 2, target                   # encoding: [0x40,0x8a,A,0bAAAAAA00]
408 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
409          bne 2, target
410 # CHECK: bne 0, target                   # encoding: [0x40,0x82,A,0bAAAAAA00]
411 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
412          bne target
413 # CHECK: bnea 2, target                  # encoding: [0x40,0x8a,A,0bAAAAAA10]
414 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
415          bnea 2, target
416 # CHECK: bnea 0, target                  # encoding: [0x40,0x82,A,0bAAAAAA10]
417 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
418          bnea target
419 # CHECK: bnelr 2                         # encoding: [0x4c,0x8a,0x00,0x20]
420          bnelr 2
421 # CHECK: bnelr 0                         # encoding: [0x4c,0x82,0x00,0x20]
422          bnelr
423 # CHECK: bnectr 2                        # encoding: [0x4c,0x8a,0x04,0x20]
424          bnectr 2
425 # CHECK: bnectr 0                        # encoding: [0x4c,0x82,0x04,0x20]
426          bnectr
427 # CHECK: bnel 2, target                  # encoding: [0x40,0x8a,A,0bAAAAAA01]
428 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
429          bnel 2, target
430 # CHECK: bnel 0, target                  # encoding: [0x40,0x82,A,0bAAAAAA01]
431 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
432          bnel target
433 # CHECK: bnela 2, target                 # encoding: [0x40,0x8a,A,0bAAAAAA11]
434 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
435          bnela 2, target
436 # CHECK: bnela 0, target                 # encoding: [0x40,0x82,A,0bAAAAAA11]
437 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
438          bnela target
439 # CHECK: bnelrl 2                        # encoding: [0x4c,0x8a,0x00,0x21]
440          bnelrl 2
441 # CHECK: bnelrl 0                        # encoding: [0x4c,0x82,0x00,0x21]
442          bnelrl
443 # CHECK: bnectrl 2                       # encoding: [0x4c,0x8a,0x04,0x21]
444          bnectrl 2
445 # CHECK: bnectrl 0                       # encoding: [0x4c,0x82,0x04,0x21]
446          bnectrl
447
448 # CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
449 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
450          bng 2, target
451 # CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
452 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
453          bng target
454 # CHECK: blea 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA10]
455 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
456          bnga 2, target
457 # CHECK: blea 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA10]
458 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
459          bnga target
460 # CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
461          bnglr 2
462 # CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
463          bnglr
464 # CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
465          bngctr 2
466 # CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
467          bngctr
468 # CHECK: blel 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA01]
469 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
470          bngl 2, target
471 # CHECK: blel 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA01]
472 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
473          bngl target
474 # CHECK: blela 2, target                 # encoding: [0x40,0x89,A,0bAAAAAA11]
475 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
476          bngla 2, target
477 # CHECK: blela 0, target                 # encoding: [0x40,0x81,A,0bAAAAAA11]
478 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
479          bngla target
480 # CHECK: blelrl 2                        # encoding: [0x4c,0x89,0x00,0x21]
481          bnglrl 2
482 # CHECK: blelrl 0                        # encoding: [0x4c,0x81,0x00,0x21]
483          bnglrl
484 # CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
485          bngctrl 2
486 # CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
487          bngctrl
488
489 # CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
490 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
491          bso 2, target
492 # CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
493 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
494          bso target
495 # CHECK: buna 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA10]
496 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
497          bsoa 2, target
498 # CHECK: buna 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA10]
499 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
500          bsoa target
501 # CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
502          bsolr 2
503 # CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
504          bsolr
505 # CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
506          bsoctr 2
507 # CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
508          bsoctr
509 # CHECK: bunl 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA01]
510 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
511          bsol 2, target
512 # CHECK: bunl 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA01]
513 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
514          bsol target
515 # CHECK: bunla 2, target                 # encoding: [0x41,0x8b,A,0bAAAAAA11]
516 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
517          bsola 2, target
518 # CHECK: bunla 0, target                 # encoding: [0x41,0x83,A,0bAAAAAA11]
519 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
520          bsola target
521 # CHECK: bunlrl 2                        # encoding: [0x4d,0x8b,0x00,0x21]
522          bsolrl 2
523 # CHECK: bunlrl 0                        # encoding: [0x4d,0x83,0x00,0x21]
524          bsolrl
525 # CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
526          bsoctrl 2
527 # CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
528          bsoctrl
529
530 # CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
531 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
532          bns 2, target
533 # CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
534 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
535          bns target
536 # CHECK: bnua 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA10]
537 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
538          bnsa 2, target
539 # CHECK: bnua 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA10]
540 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
541          bnsa target
542 # CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
543          bnslr 2
544 # CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
545          bnslr
546 # CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
547          bnsctr 2
548 # CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
549          bnsctr
550 # CHECK: bnul 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA01]
551 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
552          bnsl 2, target
553 # CHECK: bnul 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA01]
554 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
555          bnsl target
556 # CHECK: bnula 2, target                 # encoding: [0x40,0x8b,A,0bAAAAAA11]
557 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
558          bnsla 2, target
559 # CHECK: bnula 0, target                 # encoding: [0x40,0x83,A,0bAAAAAA11]
560 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
561          bnsla target
562 # CHECK: bnulrl 2                        # encoding: [0x4c,0x8b,0x00,0x21]
563          bnslrl 2
564 # CHECK: bnulrl 0                        # encoding: [0x4c,0x83,0x00,0x21]
565          bnslrl
566 # CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
567          bnsctrl 2
568 # CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
569          bnsctrl
570
571 # CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
572 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
573          bun 2, target
574 # CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
575 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
576          bun target
577 # CHECK: buna 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA10]
578 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
579          buna 2, target
580 # CHECK: buna 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA10]
581 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
582          buna target
583 # CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
584          bunlr 2
585 # CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
586          bunlr
587 # CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
588          bunctr 2
589 # CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
590          bunctr
591 # CHECK: bunl 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA01]
592 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
593          bunl 2, target
594 # CHECK: bunl 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA01]
595 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
596          bunl target
597 # CHECK: bunla 2, target                 # encoding: [0x41,0x8b,A,0bAAAAAA11]
598 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
599          bunla 2, target
600 # CHECK: bunla 0, target                 # encoding: [0x41,0x83,A,0bAAAAAA11]
601 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
602          bunla target
603 # CHECK: bunlrl 2                        # encoding: [0x4d,0x8b,0x00,0x21]
604          bunlrl 2
605 # CHECK: bunlrl 0                        # encoding: [0x4d,0x83,0x00,0x21]
606          bunlrl
607 # CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
608          bunctrl 2
609 # CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
610          bunctrl
611
612 # CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
613 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
614          bnu 2, target
615 # CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
616 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
617          bnu target
618 # CHECK: bnua 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA10]
619 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
620          bnua 2, target
621 # CHECK: bnua 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA10]
622 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
623          bnua target
624 # CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
625          bnulr 2
626 # CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
627          bnulr
628 # CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
629          bnuctr 2
630 # CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
631          bnuctr
632 # CHECK: bnul 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA01]
633 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
634          bnul 2, target
635 # CHECK: bnul 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA01]
636 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
637          bnul target
638 # CHECK: bnula 2, target                 # encoding: [0x40,0x8b,A,0bAAAAAA11]
639 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
640          bnula 2, target
641 # CHECK: bnula 0, target                 # encoding: [0x40,0x83,A,0bAAAAAA11]
642 # CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
643          bnula target
644 # CHECK: bnulrl 2                        # encoding: [0x4c,0x8b,0x00,0x21]
645          bnulrl 2
646 # CHECK: bnulrl 0                        # encoding: [0x4c,0x83,0x00,0x21]
647          bnulrl
648 # CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
649          bnuctrl 2
650 # CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
651          bnuctrl
652
653 # FIXME: Condition register logical mnemonics
654
655 # FIXME: Subtract mnemonics
656
657 # Compare mnemonics
658
659 # CHECK: cmpdi 2, 3, 128                 # encoding: [0x2d,0x23,0x00,0x80]
660          cmpdi 2, 3, 128
661 # CHECK: cmpdi 0, 3, 128                 # encoding: [0x2c,0x23,0x00,0x80]
662          cmpdi 3, 128
663 # CHECK: cmpd 2, 3, 4                    # encoding: [0x7d,0x23,0x20,0x00]
664          cmpd 2, 3, 4
665 # CHECK: cmpd 0, 3, 4                    # encoding: [0x7c,0x23,0x20,0x00]
666          cmpd 3, 4
667 # CHECK: cmpldi 2, 3, 128                # encoding: [0x29,0x23,0x00,0x80]
668          cmpldi 2, 3, 128
669 # CHECK: cmpldi 0, 3, 128                # encoding: [0x28,0x23,0x00,0x80]
670          cmpldi 3, 128
671 # CHECK: cmpld 2, 3, 4                   # encoding: [0x7d,0x23,0x20,0x40]
672          cmpld 2, 3, 4
673 # CHECK: cmpld 0, 3, 4                   # encoding: [0x7c,0x23,0x20,0x40]
674          cmpld 3, 4
675
676 # CHECK: cmpwi 2, 3, 128                 # encoding: [0x2d,0x03,0x00,0x80]
677          cmpwi 2, 3, 128
678 # CHECK: cmpwi 0, 3, 128                 # encoding: [0x2c,0x03,0x00,0x80]
679          cmpwi 3, 128
680 # CHECK: cmpw 2, 3, 4                    # encoding: [0x7d,0x03,0x20,0x00]
681          cmpw 2, 3, 4
682 # CHECK: cmpw 0, 3, 4                    # encoding: [0x7c,0x03,0x20,0x00]
683          cmpw 3, 4
684 # CHECK: cmplwi 2, 3, 128                # encoding: [0x29,0x03,0x00,0x80]
685          cmplwi 2, 3, 128
686 # CHECK: cmplwi 0, 3, 128                # encoding: [0x28,0x03,0x00,0x80]
687          cmplwi 3, 128
688 # CHECK: cmplw 2, 3, 4                   # encoding: [0x7d,0x03,0x20,0x40]
689          cmplw 2, 3, 4
690 # CHECK: cmplw 0, 3, 4                   # encoding: [0x7c,0x03,0x20,0x40]
691          cmplw 3, 4
692
693 # FIXME: Trap mnemonics
694
695 # Rotate and shift mnemonics
696
697 # FIXME: extldi 2, 3, 4, 5
698 # FIXME: extrdi 2, 3, 4, 5
699 # FIXME: insrdi 2, 3, 4, 5
700 # FIXME: rotldi 2, 3, 4
701 # FIXME: rotrdi 2, 3, 4
702 # FIXME: rotld 2, 3, 4
703 # CHECK: sldi 2, 3, 4                    # encoding: [0x78,0x62,0x26,0xe4]
704          sldi 2, 3, 4
705 # CHECK: rldicl 2, 3, 60, 4              # encoding: [0x78,0x62,0xe1,0x02]
706          srdi 2, 3, 4
707 # FIXME: clrldi 2, 3, 4
708 # FIXME: clrrdi 2, 3, 4
709 # FIXME: clrlsldi 2, 3, 4, 5
710
711 # FIXME: extlwi 2, 3, 4, 5
712 # FIXME: extrwi 2, 3, 4, 5
713 # FIXME: inslwi 2, 3, 4, 5
714 # FIXME: insrwi 2, 3, 4, 5
715 # FIXME: rotlwi 2, 3, 4
716 # FIXME: rotrwi 2, 3, 4
717 # FIXME: rotlw 2, 3, 4
718 # CHECK: slwi 2, 3, 4                    # encoding: [0x54,0x62,0x20,0x36]
719          slwi 2, 3, 4
720 # CHECK: srwi 2, 3, 4                    # encoding: [0x54,0x62,0xe1,0x3e]
721          srwi 2, 3, 4
722 # FIXME: clrlwi 2, 3, 4
723 # FIXME: clrrwi 2, 3, 4
724 # FIXME: clrlslwi 2, 3, 4, 5
725
726 # Move to/from special purpose register mnemonics
727
728 # FIXME: mtxer 2
729 # FIXME: mfxer 2
730 # CHECK: mtlr 2                          # encoding: [0x7c,0x48,0x03,0xa6]
731          mtlr 2
732 # CHECK: mflr 2                          # encoding: [0x7c,0x48,0x02,0xa6]
733          mflr 2
734 # CHECK: mtctr 2                         # encoding: [0x7c,0x49,0x03,0xa6]
735          mtctr 2
736 # CHECK: mfctr 2                         # encoding: [0x7c,0x49,0x02,0xa6]
737          mfctr 2
738
739 # Miscellaneous mnemonics
740
741 # CHECK: nop                             # encoding: [0x60,0x00,0x00,0x00]
742          nop
743 # FIXME: xnop
744 # CHECK: li 2, 128                       # encoding: [0x38,0x40,0x00,0x80]
745          li 2, 128
746 # CHECK: lis 2, 128                      # encoding: [0x3c,0x40,0x00,0x80]
747          lis 2, 128
748 # FIXME: la 2, 128(4)
749 # CHECK: mr 2, 3                         # encoding: [0x7c,0x62,0x1b,0x78]
750          mr 2, 3
751 # FIXME: not 2, 3
752