2 # RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck %s
4 # FIXME: Condition register bit symbols
8 # CHECK: blr # encoding: [0x4e,0x80,0x00,0x20]
10 # CHECK: bctr # encoding: [0x4e,0x80,0x04,0x20]
12 # CHECK: blrl # encoding: [0x4e,0x80,0x00,0x21]
14 # CHECK: bctrl # encoding: [0x4e,0x80,0x04,0x21]
17 # CHECK: bc 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA00]
18 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
20 # CHECK: bca 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA10]
21 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
23 # CHECK: bclr 12, 2, 0 # encoding: [0x4d,0x82,0x00,0x20]
25 # CHECK: bcctr 12, 2, 0 # encoding: [0x4d,0x82,0x04,0x20]
27 # CHECK: bcl 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA01]
28 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
30 # CHECK: bcla 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA11]
31 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
33 # CHECK: bclrl 12, 2, 0 # encoding: [0x4d,0x82,0x00,0x21]
35 # CHECK: bcctrl 12, 2, 0 # encoding: [0x4d,0x82,0x04,0x21]
38 # CHECK: bc 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA00]
39 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
41 # CHECK: bca 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA10]
42 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
44 # CHECK: bclr 4, 2, 0 # encoding: [0x4c,0x82,0x00,0x20]
46 # CHECK: bcctr 4, 2, 0 # encoding: [0x4c,0x82,0x04,0x20]
48 # CHECK: bcl 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA01]
49 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
51 # CHECK: bcla 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA11]
52 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
54 # CHECK: bclrl 4, 2, 0 # encoding: [0x4c,0x82,0x00,0x21]
56 # CHECK: bcctrl 4, 2, 0 # encoding: [0x4c,0x82,0x04,0x21]
59 # CHECK: bdnz target # encoding: [0x42,0x00,A,0bAAAAAA00]
60 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
62 # CHECK: bdnza target # encoding: [0x42,0x00,A,0bAAAAAA10]
63 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
65 # CHECK: bdnzlr # encoding: [0x4e,0x00,0x00,0x20]
67 # CHECK: bdnzl target # encoding: [0x42,0x00,A,0bAAAAAA01]
68 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
70 # CHECK: bdnzla target # encoding: [0x42,0x00,A,0bAAAAAA11]
71 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
73 # CHECK: bdnzlrl # encoding: [0x4e,0x00,0x00,0x21]
76 # CHECK: bc 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA00]
77 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
79 # CHECK: bca 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA10]
80 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
82 # CHECK: bclr 8, 2, 0 # encoding: [0x4d,0x02,0x00,0x20]
84 # CHECK: bcl 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA01]
85 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
87 # CHECK: bcla 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA11]
88 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
90 # CHECK: bclrl 8, 2, 0 # encoding: [0x4d,0x02,0x00,0x21]
93 # CHECK: bc 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA00]
94 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
96 # CHECK: bca 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA10]
97 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
99 # CHECK: bclr 0, 2, 0 # encoding: [0x4c,0x02,0x00,0x20]
101 # CHECK: bcl 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA01]
102 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
104 # CHECK: bcla 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA11]
105 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
107 # CHECK: bclrl 0, 2, 0 # encoding: [0x4c,0x02,0x00,0x21]
110 # CHECK: bdz target # encoding: [0x42,0x40,A,0bAAAAAA00]
111 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
113 # CHECK: bdza target # encoding: [0x42,0x40,A,0bAAAAAA10]
114 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
116 # CHECK: bdzlr # encoding: [0x4e,0x40,0x00,0x20]
118 # CHECK: bdzl target # encoding: [0x42,0x40,A,0bAAAAAA01]
119 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
121 # CHECK: bdzla target # encoding: [0x42,0x40,A,0bAAAAAA11]
122 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
124 # CHECK: bdzlrl # encoding: [0x4e,0x40,0x00,0x21]
127 # CHECK: bc 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA00]
128 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
130 # CHECK: bca 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA10]
131 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
133 # CHECK: bclr 10, 2, 0 # encoding: [0x4d,0x42,0x00,0x20]
135 # CHECK: bcl 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA01]
136 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
138 # CHECK: bcla 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA11]
139 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
141 # CHECK: bclrl 10, 2, 0 # encoding: [0x4d,0x42,0x00,0x21]
144 # CHECK: bc 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA00]
145 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
147 # CHECK: bca 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA10]
148 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
150 # CHECK: bclr 2, 2, 0 # encoding: [0x4c,0x42,0x00,0x20]
152 # CHECK: bcl 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA01]
153 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
155 # CHECK: bcla 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA11]
156 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
158 # CHECK: bclrl 2, 2, 0 # encoding: [0x4c,0x42,0x00,0x21]
161 # CHECK: blt 2, target # encoding: [0x41,0x88,A,0bAAAAAA00]
162 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
164 # CHECK: blt 0, target # encoding: [0x41,0x80,A,0bAAAAAA00]
165 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
167 # CHECK: blta 2, target # encoding: [0x41,0x88,A,0bAAAAAA10]
168 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
170 # CHECK: blta 0, target # encoding: [0x41,0x80,A,0bAAAAAA10]
171 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
173 # CHECK: bltlr 2 # encoding: [0x4d,0x88,0x00,0x20]
175 # CHECK: bltlr 0 # encoding: [0x4d,0x80,0x00,0x20]
177 # CHECK: bltctr 2 # encoding: [0x4d,0x88,0x04,0x20]
179 # CHECK: bltctr 0 # encoding: [0x4d,0x80,0x04,0x20]
181 # CHECK: bltl 2, target # encoding: [0x41,0x88,A,0bAAAAAA01]
182 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
184 # CHECK: bltl 0, target # encoding: [0x41,0x80,A,0bAAAAAA01]
185 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
187 # CHECK: bltla 2, target # encoding: [0x41,0x88,A,0bAAAAAA11]
188 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
190 # CHECK: bltla 0, target # encoding: [0x41,0x80,A,0bAAAAAA11]
191 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
193 # CHECK: bltlrl 2 # encoding: [0x4d,0x88,0x00,0x21]
195 # CHECK: bltlrl 0 # encoding: [0x4d,0x80,0x00,0x21]
197 # CHECK: bltctrl 2 # encoding: [0x4d,0x88,0x04,0x21]
199 # CHECK: bltctrl 0 # encoding: [0x4d,0x80,0x04,0x21]
202 # CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
203 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
205 # CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
206 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
208 # CHECK: blea 2, target # encoding: [0x40,0x89,A,0bAAAAAA10]
209 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
211 # CHECK: blea 0, target # encoding: [0x40,0x81,A,0bAAAAAA10]
212 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
214 # CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
216 # CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
218 # CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
220 # CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
222 # CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
223 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
225 # CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
226 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
228 # CHECK: blela 2, target # encoding: [0x40,0x89,A,0bAAAAAA11]
229 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
231 # CHECK: blela 0, target # encoding: [0x40,0x81,A,0bAAAAAA11]
232 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
234 # CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
236 # CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
238 # CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
240 # CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
243 # CHECK: beq 2, target # encoding: [0x41,0x8a,A,0bAAAAAA00]
244 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
246 # CHECK: beq 0, target # encoding: [0x41,0x82,A,0bAAAAAA00]
247 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
249 # CHECK: beqa 2, target # encoding: [0x41,0x8a,A,0bAAAAAA10]
250 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
252 # CHECK: beqa 0, target # encoding: [0x41,0x82,A,0bAAAAAA10]
253 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
255 # CHECK: beqlr 2 # encoding: [0x4d,0x8a,0x00,0x20]
257 # CHECK: beqlr 0 # encoding: [0x4d,0x82,0x00,0x20]
259 # CHECK: beqctr 2 # encoding: [0x4d,0x8a,0x04,0x20]
261 # CHECK: beqctr 0 # encoding: [0x4d,0x82,0x04,0x20]
263 # CHECK: beql 2, target # encoding: [0x41,0x8a,A,0bAAAAAA01]
264 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
266 # CHECK: beql 0, target # encoding: [0x41,0x82,A,0bAAAAAA01]
267 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
269 # CHECK: beqla 2, target # encoding: [0x41,0x8a,A,0bAAAAAA11]
270 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
272 # CHECK: beqla 0, target # encoding: [0x41,0x82,A,0bAAAAAA11]
273 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
275 # CHECK: beqlrl 2 # encoding: [0x4d,0x8a,0x00,0x21]
277 # CHECK: beqlrl 0 # encoding: [0x4d,0x82,0x00,0x21]
279 # CHECK: beqctrl 2 # encoding: [0x4d,0x8a,0x04,0x21]
281 # CHECK: beqctrl 0 # encoding: [0x4d,0x82,0x04,0x21]
284 # CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
285 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
287 # CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
288 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
290 # CHECK: bgea 2, target # encoding: [0x40,0x88,A,0bAAAAAA10]
291 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
293 # CHECK: bgea 0, target # encoding: [0x40,0x80,A,0bAAAAAA10]
294 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
296 # CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
298 # CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
300 # CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
302 # CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
304 # CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
305 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
307 # CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
308 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
310 # CHECK: bgela 2, target # encoding: [0x40,0x88,A,0bAAAAAA11]
311 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
313 # CHECK: bgela 0, target # encoding: [0x40,0x80,A,0bAAAAAA11]
314 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
316 # CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
318 # CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
320 # CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
322 # CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
325 # CHECK: bgt 2, target # encoding: [0x41,0x89,A,0bAAAAAA00]
326 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
328 # CHECK: bgt 0, target # encoding: [0x41,0x81,A,0bAAAAAA00]
329 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
331 # CHECK: bgta 2, target # encoding: [0x41,0x89,A,0bAAAAAA10]
332 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
334 # CHECK: bgta 0, target # encoding: [0x41,0x81,A,0bAAAAAA10]
335 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
337 # CHECK: bgtlr 2 # encoding: [0x4d,0x89,0x00,0x20]
339 # CHECK: bgtlr 0 # encoding: [0x4d,0x81,0x00,0x20]
341 # CHECK: bgtctr 2 # encoding: [0x4d,0x89,0x04,0x20]
343 # CHECK: bgtctr 0 # encoding: [0x4d,0x81,0x04,0x20]
345 # CHECK: bgtl 2, target # encoding: [0x41,0x89,A,0bAAAAAA01]
346 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
348 # CHECK: bgtl 0, target # encoding: [0x41,0x81,A,0bAAAAAA01]
349 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
351 # CHECK: bgtla 2, target # encoding: [0x41,0x89,A,0bAAAAAA11]
352 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
354 # CHECK: bgtla 0, target # encoding: [0x41,0x81,A,0bAAAAAA11]
355 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
357 # CHECK: bgtlrl 2 # encoding: [0x4d,0x89,0x00,0x21]
359 # CHECK: bgtlrl 0 # encoding: [0x4d,0x81,0x00,0x21]
361 # CHECK: bgtctrl 2 # encoding: [0x4d,0x89,0x04,0x21]
363 # CHECK: bgtctrl 0 # encoding: [0x4d,0x81,0x04,0x21]
366 # CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
367 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
369 # CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
370 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
372 # CHECK: bgea 2, target # encoding: [0x40,0x88,A,0bAAAAAA10]
373 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
375 # CHECK: bgea 0, target # encoding: [0x40,0x80,A,0bAAAAAA10]
376 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
378 # CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
380 # CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
382 # CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
384 # CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
386 # CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
387 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
389 # CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
390 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
392 # CHECK: bgela 2, target # encoding: [0x40,0x88,A,0bAAAAAA11]
393 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
395 # CHECK: bgela 0, target # encoding: [0x40,0x80,A,0bAAAAAA11]
396 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
398 # CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
400 # CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
402 # CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
404 # CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
407 # CHECK: bne 2, target # encoding: [0x40,0x8a,A,0bAAAAAA00]
408 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
410 # CHECK: bne 0, target # encoding: [0x40,0x82,A,0bAAAAAA00]
411 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
413 # CHECK: bnea 2, target # encoding: [0x40,0x8a,A,0bAAAAAA10]
414 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
416 # CHECK: bnea 0, target # encoding: [0x40,0x82,A,0bAAAAAA10]
417 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
419 # CHECK: bnelr 2 # encoding: [0x4c,0x8a,0x00,0x20]
421 # CHECK: bnelr 0 # encoding: [0x4c,0x82,0x00,0x20]
423 # CHECK: bnectr 2 # encoding: [0x4c,0x8a,0x04,0x20]
425 # CHECK: bnectr 0 # encoding: [0x4c,0x82,0x04,0x20]
427 # CHECK: bnel 2, target # encoding: [0x40,0x8a,A,0bAAAAAA01]
428 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
430 # CHECK: bnel 0, target # encoding: [0x40,0x82,A,0bAAAAAA01]
431 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
433 # CHECK: bnela 2, target # encoding: [0x40,0x8a,A,0bAAAAAA11]
434 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
436 # CHECK: bnela 0, target # encoding: [0x40,0x82,A,0bAAAAAA11]
437 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
439 # CHECK: bnelrl 2 # encoding: [0x4c,0x8a,0x00,0x21]
441 # CHECK: bnelrl 0 # encoding: [0x4c,0x82,0x00,0x21]
443 # CHECK: bnectrl 2 # encoding: [0x4c,0x8a,0x04,0x21]
445 # CHECK: bnectrl 0 # encoding: [0x4c,0x82,0x04,0x21]
448 # CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
449 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
451 # CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
452 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
454 # CHECK: blea 2, target # encoding: [0x40,0x89,A,0bAAAAAA10]
455 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
457 # CHECK: blea 0, target # encoding: [0x40,0x81,A,0bAAAAAA10]
458 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
460 # CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
462 # CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
464 # CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
466 # CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
468 # CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
469 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
471 # CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
472 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
474 # CHECK: blela 2, target # encoding: [0x40,0x89,A,0bAAAAAA11]
475 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
477 # CHECK: blela 0, target # encoding: [0x40,0x81,A,0bAAAAAA11]
478 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
480 # CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
482 # CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
484 # CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
486 # CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
489 # CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
490 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
492 # CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
493 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
495 # CHECK: buna 2, target # encoding: [0x41,0x8b,A,0bAAAAAA10]
496 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
498 # CHECK: buna 0, target # encoding: [0x41,0x83,A,0bAAAAAA10]
499 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
501 # CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
503 # CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
505 # CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
507 # CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
509 # CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
510 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
512 # CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
513 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
515 # CHECK: bunla 2, target # encoding: [0x41,0x8b,A,0bAAAAAA11]
516 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
518 # CHECK: bunla 0, target # encoding: [0x41,0x83,A,0bAAAAAA11]
519 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
521 # CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
523 # CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
525 # CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
527 # CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
530 # CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
531 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
533 # CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
534 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
536 # CHECK: bnua 2, target # encoding: [0x40,0x8b,A,0bAAAAAA10]
537 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
539 # CHECK: bnua 0, target # encoding: [0x40,0x83,A,0bAAAAAA10]
540 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
542 # CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
544 # CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
546 # CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
548 # CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
550 # CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
551 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
553 # CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
554 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
556 # CHECK: bnula 2, target # encoding: [0x40,0x8b,A,0bAAAAAA11]
557 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
559 # CHECK: bnula 0, target # encoding: [0x40,0x83,A,0bAAAAAA11]
560 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
562 # CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
564 # CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
566 # CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
568 # CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
571 # CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
572 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
574 # CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
575 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
577 # CHECK: buna 2, target # encoding: [0x41,0x8b,A,0bAAAAAA10]
578 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
580 # CHECK: buna 0, target # encoding: [0x41,0x83,A,0bAAAAAA10]
581 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
583 # CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
585 # CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
587 # CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
589 # CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
591 # CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
592 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
594 # CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
595 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
597 # CHECK: bunla 2, target # encoding: [0x41,0x8b,A,0bAAAAAA11]
598 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
600 # CHECK: bunla 0, target # encoding: [0x41,0x83,A,0bAAAAAA11]
601 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
603 # CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
605 # CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
607 # CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
609 # CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
612 # CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
613 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
615 # CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
616 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
618 # CHECK: bnua 2, target # encoding: [0x40,0x8b,A,0bAAAAAA10]
619 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
621 # CHECK: bnua 0, target # encoding: [0x40,0x83,A,0bAAAAAA10]
622 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
624 # CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
626 # CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
628 # CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
630 # CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
632 # CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
633 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
635 # CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
636 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
638 # CHECK: bnula 2, target # encoding: [0x40,0x8b,A,0bAAAAAA11]
639 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
641 # CHECK: bnula 0, target # encoding: [0x40,0x83,A,0bAAAAAA11]
642 # CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
644 # CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
646 # CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
648 # CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
650 # CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
653 # FIXME: Condition register logical mnemonics
655 # FIXME: Subtract mnemonics
659 # CHECK: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80]
661 # CHECK: cmpdi 0, 3, 128 # encoding: [0x2c,0x23,0x00,0x80]
663 # CHECK: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00]
665 # CHECK: cmpd 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x00]
667 # CHECK: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80]
669 # CHECK: cmpldi 0, 3, 128 # encoding: [0x28,0x23,0x00,0x80]
671 # CHECK: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40]
673 # CHECK: cmpld 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x40]
676 # CHECK: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80]
678 # CHECK: cmpwi 0, 3, 128 # encoding: [0x2c,0x03,0x00,0x80]
680 # CHECK: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00]
682 # CHECK: cmpw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x00]
684 # CHECK: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80]
686 # CHECK: cmplwi 0, 3, 128 # encoding: [0x28,0x03,0x00,0x80]
688 # CHECK: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40]
690 # CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40]
693 # FIXME: Trap mnemonics
695 # Rotate and shift mnemonics
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]
705 # CHECK: rldicl 2, 3, 60, 4 # encoding: [0x78,0x62,0xe1,0x02]
707 # FIXME: clrldi 2, 3, 4
708 # FIXME: clrrdi 2, 3, 4
709 # FIXME: clrlsldi 2, 3, 4, 5
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]
720 # CHECK: srwi 2, 3, 4 # encoding: [0x54,0x62,0xe1,0x3e]
722 # FIXME: clrlwi 2, 3, 4
723 # FIXME: clrrwi 2, 3, 4
724 # FIXME: clrlslwi 2, 3, 4, 5
726 # Move to/from special purpose register mnemonics
730 # CHECK: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6]
732 # CHECK: mflr 2 # encoding: [0x7c,0x48,0x02,0xa6]
734 # CHECK: mtctr 2 # encoding: [0x7c,0x49,0x03,0xa6]
736 # CHECK: mfctr 2 # encoding: [0x7c,0x49,0x02,0xa6]
739 # Miscellaneous mnemonics
741 # CHECK: nop # encoding: [0x60,0x00,0x00,0x00]
744 # CHECK: li 2, 128 # encoding: [0x38,0x40,0x00,0x80]
746 # CHECK: lis 2, 128 # encoding: [0x3c,0x40,0x00,0x80]
748 # FIXME: la 2, 128(4)
749 # CHECK: mr 2, 3 # encoding: [0x7c,0x62,0x1b,0x78]