ppc64-encoding-ext.s revision 1307d8300f6fe97059998480c42b44faefbc9b99
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 15, 2, target                # encoding: [0x41,0xe2,A,0bAAAAAA00]
39# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
40         bt+ 2, target
41# CHECK: bca 15, 2, target               # encoding: [0x41,0xe2,A,0bAAAAAA10]
42# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
43         bta+ 2, target
44# CHECK: bclr 15, 2, 0                   # encoding: [0x4d,0xe2,0x00,0x20]
45         btlr+ 2
46# CHECK: bcctr 15, 2, 0                  # encoding: [0x4d,0xe2,0x04,0x20]
47         btctr+ 2
48# CHECK: bcl 15, 2, target               # encoding: [0x41,0xe2,A,0bAAAAAA01]
49# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
50         btl+ 2, target
51# CHECK: bcla 15, 2, target              # encoding: [0x41,0xe2,A,0bAAAAAA11]
52# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
53         btla+ 2, target
54# CHECK: bclrl 15, 2, 0                  # encoding: [0x4d,0xe2,0x00,0x21]
55         btlrl+ 2
56# CHECK: bcctrl 15, 2, 0                 # encoding: [0x4d,0xe2,0x04,0x21]
57         btctrl+ 2
58
59# CHECK: bc 14, 2, target                # encoding: [0x41,0xc2,A,0bAAAAAA00]
60# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
61         bt- 2, target
62# CHECK: bca 14, 2, target               # encoding: [0x41,0xc2,A,0bAAAAAA10]
63# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
64         bta- 2, target
65# CHECK: bclr 14, 2, 0                   # encoding: [0x4d,0xc2,0x00,0x20]
66         btlr- 2
67# CHECK: bcctr 14, 2, 0                  # encoding: [0x4d,0xc2,0x04,0x20]
68         btctr- 2
69# CHECK: bcl 14, 2, target               # encoding: [0x41,0xc2,A,0bAAAAAA01]
70# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
71         btl- 2, target
72# CHECK: bcla 14, 2, target              # encoding: [0x41,0xc2,A,0bAAAAAA11]
73# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
74         btla- 2, target
75# CHECK: bclrl 14, 2, 0                  # encoding: [0x4d,0xc2,0x00,0x21]
76         btlrl- 2
77# CHECK: bcctrl 14, 2, 0                 # encoding: [0x4d,0xc2,0x04,0x21]
78         btctrl- 2
79
80# CHECK: bc 4, 2, target                 # encoding: [0x40,0x82,A,0bAAAAAA00]
81# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
82         bf 2, target
83# CHECK: bca 4, 2, target                # encoding: [0x40,0x82,A,0bAAAAAA10]
84# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
85         bfa 2, target
86# CHECK: bclr 4, 2, 0                    # encoding: [0x4c,0x82,0x00,0x20]
87         bflr 2
88# CHECK: bcctr 4, 2, 0                   # encoding: [0x4c,0x82,0x04,0x20]
89         bfctr 2
90# CHECK: bcl 4, 2, target                # encoding: [0x40,0x82,A,0bAAAAAA01]
91# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
92         bfl 2, target
93# CHECK: bcla 4, 2, target               # encoding: [0x40,0x82,A,0bAAAAAA11]
94# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
95         bfla 2, target
96# CHECK: bclrl 4, 2, 0                   # encoding: [0x4c,0x82,0x00,0x21]
97         bflrl 2
98# CHECK: bcctrl 4, 2, 0                  # encoding: [0x4c,0x82,0x04,0x21]
99         bfctrl 2
100
101# CHECK: bc 7, 2, target                 # encoding: [0x40,0xe2,A,0bAAAAAA00]
102# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
103         bf+ 2, target
104# CHECK: bca 7, 2, target                # encoding: [0x40,0xe2,A,0bAAAAAA10]
105# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
106         bfa+ 2, target
107# CHECK: bclr 7, 2, 0                    # encoding: [0x4c,0xe2,0x00,0x20]
108         bflr+ 2
109# CHECK: bcctr 7, 2, 0                   # encoding: [0x4c,0xe2,0x04,0x20]
110         bfctr+ 2
111# CHECK: bcl 7, 2, target                # encoding: [0x40,0xe2,A,0bAAAAAA01]
112# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
113         bfl+ 2, target
114# CHECK: bcla 7, 2, target               # encoding: [0x40,0xe2,A,0bAAAAAA11]
115# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
116         bfla+ 2, target
117# CHECK: bclrl 7, 2, 0                   # encoding: [0x4c,0xe2,0x00,0x21]
118         bflrl+ 2
119# CHECK: bcctrl 7, 2, 0                  # encoding: [0x4c,0xe2,0x04,0x21]
120         bfctrl+ 2
121
122# CHECK: bc 6, 2, target                 # encoding: [0x40,0xc2,A,0bAAAAAA00]
123# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
124         bf- 2, target
125# CHECK: bca 6, 2, target                # encoding: [0x40,0xc2,A,0bAAAAAA10]
126# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
127         bfa- 2, target
128# CHECK: bclr 6, 2, 0                    # encoding: [0x4c,0xc2,0x00,0x20]
129         bflr- 2
130# CHECK: bcctr 6, 2, 0                   # encoding: [0x4c,0xc2,0x04,0x20]
131         bfctr- 2
132# CHECK: bcl 6, 2, target                # encoding: [0x40,0xc2,A,0bAAAAAA01]
133# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
134         bfl- 2, target
135# CHECK: bcla 6, 2, target               # encoding: [0x40,0xc2,A,0bAAAAAA11]
136# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
137         bfla- 2, target
138# CHECK: bclrl 6, 2, 0                   # encoding: [0x4c,0xc2,0x00,0x21]
139         bflrl- 2
140# CHECK: bcctrl 6, 2, 0                  # encoding: [0x4c,0xc2,0x04,0x21]
141         bfctrl- 2
142
143# CHECK: bdnz target                     # encoding: [0x42,0x00,A,0bAAAAAA00]
144# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
145         bdnz target
146# CHECK: bdnza target                    # encoding: [0x42,0x00,A,0bAAAAAA10]
147# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
148         bdnza target
149# CHECK: bdnzlr                          # encoding: [0x4e,0x00,0x00,0x20]
150         bdnzlr
151# CHECK: bdnzl target                    # encoding: [0x42,0x00,A,0bAAAAAA01]
152# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
153         bdnzl target
154# CHECK: bdnzla target                   # encoding: [0x42,0x00,A,0bAAAAAA11]
155# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
156         bdnzla target
157# CHECK: bdnzlrl                         # encoding: [0x4e,0x00,0x00,0x21]
158         bdnzlrl
159
160# CHECK: bdnz+ target                    # encoding: [0x43,0x20,A,0bAAAAAA00]
161# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
162         bdnz+ target
163# CHECK: bdnza+ target                   # encoding: [0x43,0x20,A,0bAAAAAA10]
164# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
165         bdnza+ target
166# CHECK: bdnzlr+                         # encoding: [0x4f,0x20,0x00,0x20]
167         bdnzlr+
168# CHECK: bdnzl+ target                   # encoding: [0x43,0x20,A,0bAAAAAA01]
169# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
170         bdnzl+ target
171# CHECK: bdnzla+ target                  # encoding: [0x43,0x20,A,0bAAAAAA11]
172# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
173         bdnzla+ target
174# CHECK: bdnzlrl+                        # encoding: [0x4f,0x20,0x00,0x21]
175         bdnzlrl+
176
177# CHECK: bdnz- target                    # encoding: [0x43,0x00,A,0bAAAAAA00]
178# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
179         bdnz- target
180# CHECK: bdnza- target                   # encoding: [0x43,0x00,A,0bAAAAAA10]
181# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
182         bdnza- target
183# CHECK: bdnzlr-                         # encoding: [0x4f,0x00,0x00,0x20]
184         bdnzlr-
185# CHECK: bdnzl- target                   # encoding: [0x43,0x00,A,0bAAAAAA01]
186# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
187         bdnzl- target
188# CHECK: bdnzla- target                  # encoding: [0x43,0x00,A,0bAAAAAA11]
189# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
190         bdnzla- target
191# CHECK: bdnzlrl-                        # encoding: [0x4f,0x00,0x00,0x21]
192         bdnzlrl-
193
194# CHECK: bc 8, 2, target                 # encoding: [0x41,0x02,A,0bAAAAAA00]
195# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
196         bdnzt 2, target
197# CHECK: bca 8, 2, target                # encoding: [0x41,0x02,A,0bAAAAAA10]
198# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
199         bdnzta 2, target
200# CHECK: bclr 8, 2, 0                    # encoding: [0x4d,0x02,0x00,0x20]
201         bdnztlr 2
202# CHECK: bcl 8, 2, target                # encoding: [0x41,0x02,A,0bAAAAAA01]
203# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
204         bdnztl 2, target
205# CHECK: bcla 8, 2, target               # encoding: [0x41,0x02,A,0bAAAAAA11]
206# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
207         bdnztla 2, target
208# CHECK: bclrl 8, 2, 0                   # encoding: [0x4d,0x02,0x00,0x21]
209         bdnztlrl 2
210
211# CHECK: bc 0, 2, target                 # encoding: [0x40,0x02,A,0bAAAAAA00]
212# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
213         bdnzf 2, target
214# CHECK: bca 0, 2, target                # encoding: [0x40,0x02,A,0bAAAAAA10]
215# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
216         bdnzfa 2, target
217# CHECK: bclr 0, 2, 0                    # encoding: [0x4c,0x02,0x00,0x20]
218         bdnzflr 2
219# CHECK: bcl 0, 2, target                # encoding: [0x40,0x02,A,0bAAAAAA01]
220# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
221         bdnzfl 2, target
222# CHECK: bcla 0, 2, target               # encoding: [0x40,0x02,A,0bAAAAAA11]
223# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
224         bdnzfla 2, target
225# CHECK: bclrl 0, 2, 0                   # encoding: [0x4c,0x02,0x00,0x21]
226         bdnzflrl 2
227
228# CHECK: bdz target                      # encoding: [0x42,0x40,A,0bAAAAAA00]
229# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
230         bdz target
231# CHECK: bdza target                     # encoding: [0x42,0x40,A,0bAAAAAA10]
232# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
233         bdza target
234# CHECK: bdzlr                           # encoding: [0x4e,0x40,0x00,0x20]
235         bdzlr
236# CHECK: bdzl target                     # encoding: [0x42,0x40,A,0bAAAAAA01]
237# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
238         bdzl target
239# CHECK: bdzla target                    # encoding: [0x42,0x40,A,0bAAAAAA11]
240# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
241         bdzla target
242# CHECK: bdzlrl                          # encoding: [0x4e,0x40,0x00,0x21]
243         bdzlrl
244
245# CHECK: bdz+ target                     # encoding: [0x43,0x60,A,0bAAAAAA00]
246# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
247         bdz+ target
248# CHECK: bdza+ target                    # encoding: [0x43,0x60,A,0bAAAAAA10]
249# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
250         bdza+ target
251# CHECK: bdzlr+                          # encoding: [0x4f,0x60,0x00,0x20]
252         bdzlr+
253# CHECK: bdzl+ target                    # encoding: [0x43,0x60,A,0bAAAAAA01]
254# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
255         bdzl+ target
256# CHECK: bdzla+ target                   # encoding: [0x43,0x60,A,0bAAAAAA11]
257# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
258         bdzla+ target
259# CHECK: bdzlrl+                         # encoding: [0x4f,0x60,0x00,0x21]
260         bdzlrl+
261
262# CHECK: bdz- target                     # encoding: [0x43,0x40,A,0bAAAAAA00]
263# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
264         bdz- target
265# CHECK: bdza- target                    # encoding: [0x43,0x40,A,0bAAAAAA10]
266# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
267         bdza- target
268# CHECK: bdzlr-                          # encoding: [0x4f,0x40,0x00,0x20]
269         bdzlr-
270# CHECK: bdzl- target                    # encoding: [0x43,0x40,A,0bAAAAAA01]
271# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
272         bdzl- target
273# CHECK: bdzla- target                   # encoding: [0x43,0x40,A,0bAAAAAA11]
274# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
275         bdzla- target
276# CHECK: bdzlrl-                         # encoding: [0x4f,0x40,0x00,0x21]
277         bdzlrl-
278
279# CHECK: bc 10, 2, target                # encoding: [0x41,0x42,A,0bAAAAAA00]
280# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
281         bdzt 2, target
282# CHECK: bca 10, 2, target               # encoding: [0x41,0x42,A,0bAAAAAA10]
283# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
284         bdzta 2, target
285# CHECK: bclr 10, 2, 0                   # encoding: [0x4d,0x42,0x00,0x20]
286         bdztlr 2
287# CHECK: bcl 10, 2, target               # encoding: [0x41,0x42,A,0bAAAAAA01]
288# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
289         bdztl 2, target
290# CHECK: bcla 10, 2, target              # encoding: [0x41,0x42,A,0bAAAAAA11]
291# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
292         bdztla 2, target
293# CHECK: bclrl 10, 2, 0                  # encoding: [0x4d,0x42,0x00,0x21]
294         bdztlrl 2
295
296# CHECK: bc 2, 2, target                 # encoding: [0x40,0x42,A,0bAAAAAA00]
297# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
298         bdzf 2, target
299# CHECK: bca 2, 2, target                # encoding: [0x40,0x42,A,0bAAAAAA10]
300# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
301         bdzfa 2, target
302# CHECK: bclr 2, 2, 0                    # encoding: [0x4c,0x42,0x00,0x20]
303         bdzflr 2
304# CHECK: bcl 2, 2, target                # encoding: [0x40,0x42,A,0bAAAAAA01]
305# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
306         bdzfl 2, target
307# CHECK: bcla 2, 2, target               # encoding: [0x40,0x42,A,0bAAAAAA11]
308# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
309         bdzfla 2, target
310# CHECK: bclrl 2, 2, 0                   # encoding: [0x4c,0x42,0x00,0x21]
311         bdzflrl 2
312
313# CHECK: blt 2, target                   # encoding: [0x41,0x88,A,0bAAAAAA00]
314# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
315         blt 2, target
316# CHECK: blt 0, target                   # encoding: [0x41,0x80,A,0bAAAAAA00]
317# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
318         blt target
319# CHECK: blta 2, target                  # encoding: [0x41,0x88,A,0bAAAAAA10]
320# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
321         blta 2, target
322# CHECK: blta 0, target                  # encoding: [0x41,0x80,A,0bAAAAAA10]
323# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
324         blta target
325# CHECK: bltlr 2                         # encoding: [0x4d,0x88,0x00,0x20]
326         bltlr 2
327# CHECK: bltlr 0                         # encoding: [0x4d,0x80,0x00,0x20]
328         bltlr
329# CHECK: bltctr 2                        # encoding: [0x4d,0x88,0x04,0x20]
330         bltctr 2
331# CHECK: bltctr 0                        # encoding: [0x4d,0x80,0x04,0x20]
332         bltctr
333# CHECK: bltl 2, target                  # encoding: [0x41,0x88,A,0bAAAAAA01]
334# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
335         bltl 2, target
336# CHECK: bltl 0, target                  # encoding: [0x41,0x80,A,0bAAAAAA01]
337# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
338         bltl target
339# CHECK: bltla 2, target                 # encoding: [0x41,0x88,A,0bAAAAAA11]
340# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
341         bltla 2, target
342# CHECK: bltla 0, target                 # encoding: [0x41,0x80,A,0bAAAAAA11]
343# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
344         bltla target
345# CHECK: bltlrl 2                        # encoding: [0x4d,0x88,0x00,0x21]
346         bltlrl 2
347# CHECK: bltlrl 0                        # encoding: [0x4d,0x80,0x00,0x21]
348         bltlrl
349# CHECK: bltctrl 2                       # encoding: [0x4d,0x88,0x04,0x21]
350         bltctrl 2
351# CHECK: bltctrl 0                       # encoding: [0x4d,0x80,0x04,0x21]
352         bltctrl
353
354# CHECK: blt+ 2, target                  # encoding: [0x41,0xe8,A,0bAAAAAA00]
355# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
356         blt+ 2, target
357# CHECK: blt+ 0, target                  # encoding: [0x41,0xe0,A,0bAAAAAA00]
358# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
359         blt+ target
360# CHECK: blta+ 2, target                 # encoding: [0x41,0xe8,A,0bAAAAAA10]
361# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
362         blta+ 2, target
363# CHECK: blta+ 0, target                 # encoding: [0x41,0xe0,A,0bAAAAAA10]
364# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
365         blta+ target
366# CHECK: bltlr+ 2                        # encoding: [0x4d,0xe8,0x00,0x20]
367         bltlr+ 2
368# CHECK: bltlr+ 0                        # encoding: [0x4d,0xe0,0x00,0x20]
369         bltlr+
370# CHECK: bltctr+ 2                       # encoding: [0x4d,0xe8,0x04,0x20]
371         bltctr+ 2
372# CHECK: bltctr+ 0                       # encoding: [0x4d,0xe0,0x04,0x20]
373         bltctr+
374# CHECK: bltl+ 2, target                 # encoding: [0x41,0xe8,A,0bAAAAAA01]
375# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
376         bltl+ 2, target
377# CHECK: bltl+ 0, target                 # encoding: [0x41,0xe0,A,0bAAAAAA01]
378# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
379         bltl+ target
380# CHECK: bltla+ 2, target                # encoding: [0x41,0xe8,A,0bAAAAAA11]
381# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
382         bltla+ 2, target
383# CHECK: bltla+ 0, target                # encoding: [0x41,0xe0,A,0bAAAAAA11]
384# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
385         bltla+ target
386# CHECK: bltlrl+ 2                       # encoding: [0x4d,0xe8,0x00,0x21]
387         bltlrl+ 2
388# CHECK: bltlrl+ 0                       # encoding: [0x4d,0xe0,0x00,0x21]
389         bltlrl+
390# CHECK: bltctrl+ 2                      # encoding: [0x4d,0xe8,0x04,0x21]
391         bltctrl+ 2
392# CHECK: bltctrl+ 0                      # encoding: [0x4d,0xe0,0x04,0x21]
393         bltctrl+
394
395# CHECK: blt- 2, target                  # encoding: [0x41,0xc8,A,0bAAAAAA00]
396# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
397         blt- 2, target
398# CHECK: blt- 0, target                  # encoding: [0x41,0xc0,A,0bAAAAAA00]
399# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
400         blt- target
401# CHECK: blta- 2, target                 # encoding: [0x41,0xc8,A,0bAAAAAA10]
402# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
403         blta- 2, target
404# CHECK: blta- 0, target                 # encoding: [0x41,0xc0,A,0bAAAAAA10]
405# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
406         blta- target
407# CHECK: bltlr- 2                        # encoding: [0x4d,0xc8,0x00,0x20]
408         bltlr- 2
409# CHECK: bltlr- 0                        # encoding: [0x4d,0xc0,0x00,0x20]
410         bltlr-
411# CHECK: bltctr- 2                       # encoding: [0x4d,0xc8,0x04,0x20]
412         bltctr- 2
413# CHECK: bltctr- 0                       # encoding: [0x4d,0xc0,0x04,0x20]
414         bltctr-
415# CHECK: bltl- 2, target                 # encoding: [0x41,0xc8,A,0bAAAAAA01]
416# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
417         bltl- 2, target
418# CHECK: bltl- 0, target                 # encoding: [0x41,0xc0,A,0bAAAAAA01]
419# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
420         bltl- target
421# CHECK: bltla- 2, target                # encoding: [0x41,0xc8,A,0bAAAAAA11]
422# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
423         bltla- 2, target
424# CHECK: bltla- 0, target                # encoding: [0x41,0xc0,A,0bAAAAAA11]
425# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
426         bltla- target
427# CHECK: bltlrl- 2                       # encoding: [0x4d,0xc8,0x00,0x21]
428         bltlrl- 2
429# CHECK: bltlrl- 0                       # encoding: [0x4d,0xc0,0x00,0x21]
430         bltlrl-
431# CHECK: bltctrl- 2                      # encoding: [0x4d,0xc8,0x04,0x21]
432         bltctrl- 2
433# CHECK: bltctrl- 0                      # encoding: [0x4d,0xc0,0x04,0x21]
434         bltctrl-
435
436# CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
437# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
438         ble 2, target
439# CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
440# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
441         ble target
442# CHECK: blea 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA10]
443# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
444         blea 2, target
445# CHECK: blea 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA10]
446# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
447         blea target
448# CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
449         blelr 2
450# CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
451         blelr
452# CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
453         blectr 2
454# CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
455         blectr
456# CHECK: blel 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA01]
457# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
458         blel 2, target
459# CHECK: blel 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA01]
460# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
461         blel target
462# CHECK: blela 2, target                 # encoding: [0x40,0x89,A,0bAAAAAA11]
463# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
464         blela 2, target
465# CHECK: blela 0, target                 # encoding: [0x40,0x81,A,0bAAAAAA11]
466# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
467         blela target
468# CHECK: blelrl 2                        # encoding: [0x4c,0x89,0x00,0x21]
469         blelrl 2
470# CHECK: blelrl 0                        # encoding: [0x4c,0x81,0x00,0x21]
471         blelrl
472# CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
473         blectrl 2
474# CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
475         blectrl
476
477# CHECK: ble+ 2, target                  # encoding: [0x40,0xe9,A,0bAAAAAA00]
478# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
479         ble+ 2, target
480# CHECK: ble+ 0, target                  # encoding: [0x40,0xe1,A,0bAAAAAA00]
481# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
482         ble+ target
483# CHECK: blea+ 2, target                 # encoding: [0x40,0xe9,A,0bAAAAAA10]
484# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
485         blea+ 2, target
486# CHECK: blea+ 0, target                 # encoding: [0x40,0xe1,A,0bAAAAAA10]
487# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
488         blea+ target
489# CHECK: blelr+ 2                        # encoding: [0x4c,0xe9,0x00,0x20]
490         blelr+ 2
491# CHECK: blelr+ 0                        # encoding: [0x4c,0xe1,0x00,0x20]
492         blelr+
493# CHECK: blectr+ 2                       # encoding: [0x4c,0xe9,0x04,0x20]
494         blectr+ 2
495# CHECK: blectr+ 0                       # encoding: [0x4c,0xe1,0x04,0x20]
496         blectr+
497# CHECK: blel+ 2, target                 # encoding: [0x40,0xe9,A,0bAAAAAA01]
498# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
499         blel+ 2, target
500# CHECK: blel+ 0, target                 # encoding: [0x40,0xe1,A,0bAAAAAA01]
501# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
502         blel+ target
503# CHECK: blela+ 2, target                # encoding: [0x40,0xe9,A,0bAAAAAA11]
504# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
505         blela+ 2, target
506# CHECK: blela+ 0, target                # encoding: [0x40,0xe1,A,0bAAAAAA11]
507# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
508         blela+ target
509# CHECK: blelrl+ 2                       # encoding: [0x4c,0xe9,0x00,0x21]
510         blelrl+ 2
511# CHECK: blelrl+ 0                       # encoding: [0x4c,0xe1,0x00,0x21]
512         blelrl+
513# CHECK: blectrl+ 2                      # encoding: [0x4c,0xe9,0x04,0x21]
514         blectrl+ 2
515# CHECK: blectrl+ 0                      # encoding: [0x4c,0xe1,0x04,0x21]
516         blectrl+
517
518# CHECK: ble- 2, target                  # encoding: [0x40,0xc9,A,0bAAAAAA00]
519# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
520         ble- 2, target
521# CHECK: ble- 0, target                  # encoding: [0x40,0xc1,A,0bAAAAAA00]
522# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
523         ble- target
524# CHECK: blea- 2, target                 # encoding: [0x40,0xc9,A,0bAAAAAA10]
525# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
526         blea- 2, target
527# CHECK: blea- 0, target                 # encoding: [0x40,0xc1,A,0bAAAAAA10]
528# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
529         blea- target
530# CHECK: blelr- 2                        # encoding: [0x4c,0xc9,0x00,0x20]
531         blelr- 2
532# CHECK: blelr- 0                        # encoding: [0x4c,0xc1,0x00,0x20]
533         blelr-
534# CHECK: blectr- 2                       # encoding: [0x4c,0xc9,0x04,0x20]
535         blectr- 2
536# CHECK: blectr- 0                       # encoding: [0x4c,0xc1,0x04,0x20]
537         blectr-
538# CHECK: blel- 2, target                 # encoding: [0x40,0xc9,A,0bAAAAAA01]
539# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
540         blel- 2, target
541# CHECK: blel- 0, target                 # encoding: [0x40,0xc1,A,0bAAAAAA01]
542# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
543         blel- target
544# CHECK: blela- 2, target                # encoding: [0x40,0xc9,A,0bAAAAAA11]
545# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
546         blela- 2, target
547# CHECK: blela- 0, target                # encoding: [0x40,0xc1,A,0bAAAAAA11]
548# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
549         blela- target
550# CHECK: blelrl- 2                       # encoding: [0x4c,0xc9,0x00,0x21]
551         blelrl- 2
552# CHECK: blelrl- 0                       # encoding: [0x4c,0xc1,0x00,0x21]
553         blelrl-
554# CHECK: blectrl- 2                      # encoding: [0x4c,0xc9,0x04,0x21]
555         blectrl- 2
556# CHECK: blectrl- 0                      # encoding: [0x4c,0xc1,0x04,0x21]
557         blectrl-
558
559# CHECK: beq 2, target                   # encoding: [0x41,0x8a,A,0bAAAAAA00]
560# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
561         beq 2, target
562# CHECK: beq 0, target                   # encoding: [0x41,0x82,A,0bAAAAAA00]
563# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
564         beq target
565# CHECK: beqa 2, target                  # encoding: [0x41,0x8a,A,0bAAAAAA10]
566# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
567         beqa 2, target
568# CHECK: beqa 0, target                  # encoding: [0x41,0x82,A,0bAAAAAA10]
569# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
570         beqa target
571# CHECK: beqlr 2                         # encoding: [0x4d,0x8a,0x00,0x20]
572         beqlr 2
573# CHECK: beqlr 0                         # encoding: [0x4d,0x82,0x00,0x20]
574         beqlr
575# CHECK: beqctr 2                        # encoding: [0x4d,0x8a,0x04,0x20]
576         beqctr 2
577# CHECK: beqctr 0                        # encoding: [0x4d,0x82,0x04,0x20]
578         beqctr
579# CHECK: beql 2, target                  # encoding: [0x41,0x8a,A,0bAAAAAA01]
580# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
581         beql 2, target
582# CHECK: beql 0, target                  # encoding: [0x41,0x82,A,0bAAAAAA01]
583# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
584         beql target
585# CHECK: beqla 2, target                 # encoding: [0x41,0x8a,A,0bAAAAAA11]
586# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
587         beqla 2, target
588# CHECK: beqla 0, target                 # encoding: [0x41,0x82,A,0bAAAAAA11]
589# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
590         beqla target
591# CHECK: beqlrl 2                        # encoding: [0x4d,0x8a,0x00,0x21]
592         beqlrl 2
593# CHECK: beqlrl 0                        # encoding: [0x4d,0x82,0x00,0x21]
594         beqlrl
595# CHECK: beqctrl 2                       # encoding: [0x4d,0x8a,0x04,0x21]
596         beqctrl 2
597# CHECK: beqctrl 0                       # encoding: [0x4d,0x82,0x04,0x21]
598         beqctrl
599
600# CHECK: beq+ 2, target                  # encoding: [0x41,0xea,A,0bAAAAAA00]
601# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
602         beq+ 2, target
603# CHECK: beq+ 0, target                  # encoding: [0x41,0xe2,A,0bAAAAAA00]
604# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
605         beq+ target
606# CHECK: beqa+ 2, target                 # encoding: [0x41,0xea,A,0bAAAAAA10]
607# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
608         beqa+ 2, target
609# CHECK: beqa+ 0, target                 # encoding: [0x41,0xe2,A,0bAAAAAA10]
610# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
611         beqa+ target
612# CHECK: beqlr+ 2                        # encoding: [0x4d,0xea,0x00,0x20]
613         beqlr+ 2
614# CHECK: beqlr+ 0                        # encoding: [0x4d,0xe2,0x00,0x20]
615         beqlr+
616# CHECK: beqctr+ 2                       # encoding: [0x4d,0xea,0x04,0x20]
617         beqctr+ 2
618# CHECK: beqctr+ 0                       # encoding: [0x4d,0xe2,0x04,0x20]
619         beqctr+
620# CHECK: beql+ 2, target                 # encoding: [0x41,0xea,A,0bAAAAAA01]
621# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
622         beql+ 2, target
623# CHECK: beql+ 0, target                 # encoding: [0x41,0xe2,A,0bAAAAAA01]
624# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
625         beql+ target
626# CHECK: beqla+ 2, target                # encoding: [0x41,0xea,A,0bAAAAAA11]
627# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
628         beqla+ 2, target
629# CHECK: beqla+ 0, target                # encoding: [0x41,0xe2,A,0bAAAAAA11]
630# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
631         beqla+ target
632# CHECK: beqlrl+ 2                       # encoding: [0x4d,0xea,0x00,0x21]
633         beqlrl+ 2
634# CHECK: beqlrl+ 0                       # encoding: [0x4d,0xe2,0x00,0x21]
635         beqlrl+
636# CHECK: beqctrl+ 2                      # encoding: [0x4d,0xea,0x04,0x21]
637         beqctrl+ 2
638# CHECK: beqctrl+ 0                      # encoding: [0x4d,0xe2,0x04,0x21]
639         beqctrl+
640
641# CHECK: beq- 2, target                  # encoding: [0x41,0xca,A,0bAAAAAA00]
642# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
643         beq- 2, target
644# CHECK: beq- 0, target                  # encoding: [0x41,0xc2,A,0bAAAAAA00]
645# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
646         beq- target
647# CHECK: beqa- 2, target                 # encoding: [0x41,0xca,A,0bAAAAAA10]
648# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
649         beqa- 2, target
650# CHECK: beqa- 0, target                 # encoding: [0x41,0xc2,A,0bAAAAAA10]
651# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
652         beqa- target
653# CHECK: beqlr- 2                        # encoding: [0x4d,0xca,0x00,0x20]
654         beqlr- 2
655# CHECK: beqlr- 0                        # encoding: [0x4d,0xc2,0x00,0x20]
656         beqlr-
657# CHECK: beqctr- 2                       # encoding: [0x4d,0xca,0x04,0x20]
658         beqctr- 2
659# CHECK: beqctr- 0                       # encoding: [0x4d,0xc2,0x04,0x20]
660         beqctr-
661# CHECK: beql- 2, target                 # encoding: [0x41,0xca,A,0bAAAAAA01]
662# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
663         beql- 2, target
664# CHECK: beql- 0, target                 # encoding: [0x41,0xc2,A,0bAAAAAA01]
665# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
666         beql- target
667# CHECK: beqla- 2, target                # encoding: [0x41,0xca,A,0bAAAAAA11]
668# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
669         beqla- 2, target
670# CHECK: beqla- 0, target                # encoding: [0x41,0xc2,A,0bAAAAAA11]
671# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
672         beqla- target
673# CHECK: beqlrl- 2                       # encoding: [0x4d,0xca,0x00,0x21]
674         beqlrl- 2
675# CHECK: beqlrl- 0                       # encoding: [0x4d,0xc2,0x00,0x21]
676         beqlrl-
677# CHECK: beqctrl- 2                      # encoding: [0x4d,0xca,0x04,0x21]
678         beqctrl- 2
679# CHECK: beqctrl- 0                      # encoding: [0x4d,0xc2,0x04,0x21]
680         beqctrl-
681
682# CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
683# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
684         bge 2, target
685# CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
686# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
687         bge target
688# CHECK: bgea 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA10]
689# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
690         bgea 2, target
691# CHECK: bgea 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA10]
692# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
693         bgea target
694# CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
695         bgelr 2
696# CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
697         bgelr
698# CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
699         bgectr 2
700# CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
701         bgectr
702# CHECK: bgel 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA01]
703# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
704         bgel 2, target
705# CHECK: bgel 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA01]
706# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
707         bgel target
708# CHECK: bgela 2, target                 # encoding: [0x40,0x88,A,0bAAAAAA11]
709# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
710         bgela 2, target
711# CHECK: bgela 0, target                 # encoding: [0x40,0x80,A,0bAAAAAA11]
712# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
713         bgela target
714# CHECK: bgelrl 2                        # encoding: [0x4c,0x88,0x00,0x21]
715         bgelrl 2
716# CHECK: bgelrl 0                        # encoding: [0x4c,0x80,0x00,0x21]
717         bgelrl
718# CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
719         bgectrl 2
720# CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
721         bgectrl
722
723# CHECK: bge+ 2, target                   # encoding: [0x40,0xe8,A,0bAAAAAA00]
724# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
725         bge+ 2, target
726# CHECK: bge+ 0, target                   # encoding: [0x40,0xe0,A,0bAAAAAA00]
727# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
728         bge+ target
729# CHECK: bgea+ 2, target                  # encoding: [0x40,0xe8,A,0bAAAAAA10]
730# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
731         bgea+ 2, target
732# CHECK: bgea+ 0, target                  # encoding: [0x40,0xe0,A,0bAAAAAA10]
733# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
734         bgea+ target
735# CHECK: bgelr+ 2                         # encoding: [0x4c,0xe8,0x00,0x20]
736         bgelr+ 2
737# CHECK: bgelr+ 0                         # encoding: [0x4c,0xe0,0x00,0x20]
738         bgelr+
739# CHECK: bgectr+ 2                        # encoding: [0x4c,0xe8,0x04,0x20]
740         bgectr+ 2
741# CHECK: bgectr+ 0                        # encoding: [0x4c,0xe0,0x04,0x20]
742         bgectr+
743# CHECK: bgel+ 2, target                  # encoding: [0x40,0xe8,A,0bAAAAAA01]
744# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
745         bgel+ 2, target
746# CHECK: bgel+ 0, target                  # encoding: [0x40,0xe0,A,0bAAAAAA01]
747# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
748         bgel+ target
749# CHECK: bgela+ 2, target                 # encoding: [0x40,0xe8,A,0bAAAAAA11]
750# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
751         bgela+ 2, target
752# CHECK: bgela+ 0, target                 # encoding: [0x40,0xe0,A,0bAAAAAA11]
753# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
754         bgela+ target
755# CHECK: bgelrl+ 2                        # encoding: [0x4c,0xe8,0x00,0x21]
756         bgelrl+ 2
757# CHECK: bgelrl+ 0                        # encoding: [0x4c,0xe0,0x00,0x21]
758         bgelrl+
759# CHECK: bgectrl+ 2                       # encoding: [0x4c,0xe8,0x04,0x21]
760         bgectrl+ 2
761# CHECK: bgectrl+ 0                       # encoding: [0x4c,0xe0,0x04,0x21]
762         bgectrl+
763
764# CHECK: bge- 2, target                   # encoding: [0x40,0xc8,A,0bAAAAAA00]
765# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
766         bge- 2, target
767# CHECK: bge- 0, target                   # encoding: [0x40,0xc0,A,0bAAAAAA00]
768# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
769         bge- target
770# CHECK: bgea- 2, target                  # encoding: [0x40,0xc8,A,0bAAAAAA10]
771# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
772         bgea- 2, target
773# CHECK: bgea- 0, target                  # encoding: [0x40,0xc0,A,0bAAAAAA10]
774# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
775         bgea- target
776# CHECK: bgelr- 2                         # encoding: [0x4c,0xc8,0x00,0x20]
777         bgelr- 2
778# CHECK: bgelr- 0                         # encoding: [0x4c,0xc0,0x00,0x20]
779         bgelr-
780# CHECK: bgectr- 2                        # encoding: [0x4c,0xc8,0x04,0x20]
781         bgectr- 2
782# CHECK: bgectr- 0                        # encoding: [0x4c,0xc0,0x04,0x20]
783         bgectr-
784# CHECK: bgel- 2, target                  # encoding: [0x40,0xc8,A,0bAAAAAA01]
785# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
786         bgel- 2, target
787# CHECK: bgel- 0, target                  # encoding: [0x40,0xc0,A,0bAAAAAA01]
788# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
789         bgel- target
790# CHECK: bgela- 2, target                 # encoding: [0x40,0xc8,A,0bAAAAAA11]
791# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
792         bgela- 2, target
793# CHECK: bgela- 0, target                 # encoding: [0x40,0xc0,A,0bAAAAAA11]
794# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
795         bgela- target
796# CHECK: bgelrl- 2                        # encoding: [0x4c,0xc8,0x00,0x21]
797         bgelrl- 2
798# CHECK: bgelrl- 0                        # encoding: [0x4c,0xc0,0x00,0x21]
799         bgelrl-
800# CHECK: bgectrl- 2                       # encoding: [0x4c,0xc8,0x04,0x21]
801         bgectrl- 2
802# CHECK: bgectrl- 0                       # encoding: [0x4c,0xc0,0x04,0x21]
803         bgectrl-
804
805# CHECK: bgt 2, target                   # encoding: [0x41,0x89,A,0bAAAAAA00]
806# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
807         bgt 2, target
808# CHECK: bgt 0, target                   # encoding: [0x41,0x81,A,0bAAAAAA00]
809# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
810         bgt target
811# CHECK: bgta 2, target                  # encoding: [0x41,0x89,A,0bAAAAAA10]
812# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
813         bgta 2, target
814# CHECK: bgta 0, target                  # encoding: [0x41,0x81,A,0bAAAAAA10]
815# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
816         bgta target
817# CHECK: bgtlr 2                         # encoding: [0x4d,0x89,0x00,0x20]
818         bgtlr 2
819# CHECK: bgtlr 0                         # encoding: [0x4d,0x81,0x00,0x20]
820         bgtlr
821# CHECK: bgtctr 2                        # encoding: [0x4d,0x89,0x04,0x20]
822         bgtctr 2
823# CHECK: bgtctr 0                        # encoding: [0x4d,0x81,0x04,0x20]
824         bgtctr
825# CHECK: bgtl 2, target                  # encoding: [0x41,0x89,A,0bAAAAAA01]
826# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
827         bgtl 2, target
828# CHECK: bgtl 0, target                  # encoding: [0x41,0x81,A,0bAAAAAA01]
829# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
830         bgtl target
831# CHECK: bgtla 2, target                 # encoding: [0x41,0x89,A,0bAAAAAA11]
832# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
833         bgtla 2, target
834# CHECK: bgtla 0, target                 # encoding: [0x41,0x81,A,0bAAAAAA11]
835# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
836         bgtla target
837# CHECK: bgtlrl 2                        # encoding: [0x4d,0x89,0x00,0x21]
838         bgtlrl 2
839# CHECK: bgtlrl 0                        # encoding: [0x4d,0x81,0x00,0x21]
840         bgtlrl
841# CHECK: bgtctrl 2                       # encoding: [0x4d,0x89,0x04,0x21]
842         bgtctrl 2
843# CHECK: bgtctrl 0                       # encoding: [0x4d,0x81,0x04,0x21]
844         bgtctrl
845
846# CHECK: bgt+ 2, target                  # encoding: [0x41,0xe9,A,0bAAAAAA00]
847# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
848         bgt+ 2, target
849# CHECK: bgt+ 0, target                  # encoding: [0x41,0xe1,A,0bAAAAAA00]
850# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
851         bgt+ target
852# CHECK: bgta+ 2, target                 # encoding: [0x41,0xe9,A,0bAAAAAA10]
853# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
854         bgta+ 2, target
855# CHECK: bgta+ 0, target                 # encoding: [0x41,0xe1,A,0bAAAAAA10]
856# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
857         bgta+ target
858# CHECK: bgtlr+ 2                        # encoding: [0x4d,0xe9,0x00,0x20]
859         bgtlr+ 2
860# CHECK: bgtlr+ 0                        # encoding: [0x4d,0xe1,0x00,0x20]
861         bgtlr+
862# CHECK: bgtctr+ 2                       # encoding: [0x4d,0xe9,0x04,0x20]
863         bgtctr+ 2
864# CHECK: bgtctr+ 0                       # encoding: [0x4d,0xe1,0x04,0x20]
865         bgtctr+
866# CHECK: bgtl+ 2, target                 # encoding: [0x41,0xe9,A,0bAAAAAA01]
867# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
868         bgtl+ 2, target
869# CHECK: bgtl+ 0, target                 # encoding: [0x41,0xe1,A,0bAAAAAA01]
870# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
871         bgtl+ target
872# CHECK: bgtla+ 2, target                # encoding: [0x41,0xe9,A,0bAAAAAA11]
873# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
874         bgtla+ 2, target
875# CHECK: bgtla+ 0, target                # encoding: [0x41,0xe1,A,0bAAAAAA11]
876# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
877         bgtla+ target
878# CHECK: bgtlrl+ 2                       # encoding: [0x4d,0xe9,0x00,0x21]
879         bgtlrl+ 2
880# CHECK: bgtlrl+ 0                       # encoding: [0x4d,0xe1,0x00,0x21]
881         bgtlrl+
882# CHECK: bgtctrl+ 2                      # encoding: [0x4d,0xe9,0x04,0x21]
883         bgtctrl+ 2
884# CHECK: bgtctrl+ 0                      # encoding: [0x4d,0xe1,0x04,0x21]
885         bgtctrl+
886
887# CHECK: bgt- 2, target                  # encoding: [0x41,0xc9,A,0bAAAAAA00]
888# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
889         bgt- 2, target
890# CHECK: bgt- 0, target                  # encoding: [0x41,0xc1,A,0bAAAAAA00]
891# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
892         bgt- target
893# CHECK: bgta- 2, target                 # encoding: [0x41,0xc9,A,0bAAAAAA10]
894# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
895         bgta- 2, target
896# CHECK: bgta- 0, target                 # encoding: [0x41,0xc1,A,0bAAAAAA10]
897# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
898         bgta- target
899# CHECK: bgtlr- 2                        # encoding: [0x4d,0xc9,0x00,0x20]
900         bgtlr- 2
901# CHECK: bgtlr- 0                        # encoding: [0x4d,0xc1,0x00,0x20]
902         bgtlr-
903# CHECK: bgtctr- 2                       # encoding: [0x4d,0xc9,0x04,0x20]
904         bgtctr- 2
905# CHECK: bgtctr- 0                       # encoding: [0x4d,0xc1,0x04,0x20]
906         bgtctr-
907# CHECK: bgtl- 2, target                 # encoding: [0x41,0xc9,A,0bAAAAAA01]
908# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
909         bgtl- 2, target
910# CHECK: bgtl- 0, target                 # encoding: [0x41,0xc1,A,0bAAAAAA01]
911# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
912         bgtl- target
913# CHECK: bgtla- 2, target                # encoding: [0x41,0xc9,A,0bAAAAAA11]
914# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
915         bgtla- 2, target
916# CHECK: bgtla- 0, target                # encoding: [0x41,0xc1,A,0bAAAAAA11]
917# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
918         bgtla- target
919# CHECK: bgtlrl- 2                       # encoding: [0x4d,0xc9,0x00,0x21]
920         bgtlrl- 2
921# CHECK: bgtlrl- 0                       # encoding: [0x4d,0xc1,0x00,0x21]
922         bgtlrl-
923# CHECK: bgtctrl- 2                      # encoding: [0x4d,0xc9,0x04,0x21]
924         bgtctrl- 2
925# CHECK: bgtctrl- 0                      # encoding: [0x4d,0xc1,0x04,0x21]
926         bgtctrl-
927
928# CHECK: bge 2, target                   # encoding: [0x40,0x88,A,0bAAAAAA00]
929# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
930         bnl 2, target
931# CHECK: bge 0, target                   # encoding: [0x40,0x80,A,0bAAAAAA00]
932# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
933         bnl target
934# CHECK: bgea 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA10]
935# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
936         bnla 2, target
937# CHECK: bgea 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA10]
938# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
939         bnla target
940# CHECK: bgelr 2                         # encoding: [0x4c,0x88,0x00,0x20]
941         bnllr 2
942# CHECK: bgelr 0                         # encoding: [0x4c,0x80,0x00,0x20]
943         bnllr
944# CHECK: bgectr 2                        # encoding: [0x4c,0x88,0x04,0x20]
945         bnlctr 2
946# CHECK: bgectr 0                        # encoding: [0x4c,0x80,0x04,0x20]
947         bnlctr
948# CHECK: bgel 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA01]
949# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
950         bnll 2, target
951# CHECK: bgel 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA01]
952# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
953         bnll target
954# CHECK: bgela 2, target                  # encoding: [0x40,0x88,A,0bAAAAAA11]
955# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
956         bnlla 2, target
957# CHECK: bgela 0, target                  # encoding: [0x40,0x80,A,0bAAAAAA11]
958# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
959         bnlla target
960# CHECK: bgelrl 2                        # encoding: [0x4c,0x88,0x00,0x21]
961         bnllrl 2
962# CHECK: bgelrl 0                        # encoding: [0x4c,0x80,0x00,0x21]
963         bnllrl
964# CHECK: bgectrl 2                       # encoding: [0x4c,0x88,0x04,0x21]
965         bnlctrl 2
966# CHECK: bgectrl 0                       # encoding: [0x4c,0x80,0x04,0x21]
967         bnlctrl
968
969# CHECK: bge+ 2, target                  # encoding: [0x40,0xe8,A,0bAAAAAA00]
970# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
971         bnl+ 2, target
972# CHECK: bge+ 0, target                  # encoding: [0x40,0xe0,A,0bAAAAAA00]
973# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
974         bnl+ target
975# CHECK: bgea+ 2, target                 # encoding: [0x40,0xe8,A,0bAAAAAA10]
976# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
977         bnla+ 2, target
978# CHECK: bgea+ 0, target                 # encoding: [0x40,0xe0,A,0bAAAAAA10]
979# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
980         bnla+ target
981# CHECK: bgelr+ 2                        # encoding: [0x4c,0xe8,0x00,0x20]
982         bnllr+ 2
983# CHECK: bgelr+ 0                        # encoding: [0x4c,0xe0,0x00,0x20]
984         bnllr+
985# CHECK: bgectr+ 2                       # encoding: [0x4c,0xe8,0x04,0x20]
986         bnlctr+ 2
987# CHECK: bgectr+ 0                       # encoding: [0x4c,0xe0,0x04,0x20]
988         bnlctr+
989# CHECK: bgel+ 2, target                 # encoding: [0x40,0xe8,A,0bAAAAAA01]
990# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
991         bnll+ 2, target
992# CHECK: bgel+ 0, target                 # encoding: [0x40,0xe0,A,0bAAAAAA01]
993# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
994         bnll+ target
995# CHECK: bgela+ 2, target                # encoding: [0x40,0xe8,A,0bAAAAAA11]
996# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
997         bnlla+ 2, target
998# CHECK: bgela+ 0, target                # encoding: [0x40,0xe0,A,0bAAAAAA11]
999# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1000         bnlla+ target
1001# CHECK: bgelrl+ 2                       # encoding: [0x4c,0xe8,0x00,0x21]
1002         bnllrl+ 2
1003# CHECK: bgelrl+ 0                       # encoding: [0x4c,0xe0,0x00,0x21]
1004         bnllrl+
1005# CHECK: bgectrl+ 2                      # encoding: [0x4c,0xe8,0x04,0x21]
1006         bnlctrl+ 2
1007# CHECK: bgectrl+ 0                      # encoding: [0x4c,0xe0,0x04,0x21]
1008         bnlctrl+
1009
1010# CHECK: bge- 2, target                  # encoding: [0x40,0xc8,A,0bAAAAAA00]
1011# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1012         bnl- 2, target
1013# CHECK: bge- 0, target                  # encoding: [0x40,0xc0,A,0bAAAAAA00]
1014# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1015         bnl- target
1016# CHECK: bgea- 2, target                 # encoding: [0x40,0xc8,A,0bAAAAAA10]
1017# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1018         bnla- 2, target
1019# CHECK: bgea- 0, target                 # encoding: [0x40,0xc0,A,0bAAAAAA10]
1020# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1021         bnla- target
1022# CHECK: bgelr- 2                        # encoding: [0x4c,0xc8,0x00,0x20]
1023         bnllr- 2
1024# CHECK: bgelr- 0                        # encoding: [0x4c,0xc0,0x00,0x20]
1025         bnllr-
1026# CHECK: bgectr- 2                       # encoding: [0x4c,0xc8,0x04,0x20]
1027         bnlctr- 2
1028# CHECK: bgectr- 0                       # encoding: [0x4c,0xc0,0x04,0x20]
1029         bnlctr-
1030# CHECK: bgel- 2, target                 # encoding: [0x40,0xc8,A,0bAAAAAA01]
1031# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1032         bnll- 2, target
1033# CHECK: bgel- 0, target                 # encoding: [0x40,0xc0,A,0bAAAAAA01]
1034# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1035         bnll- target
1036# CHECK: bgela- 2, target                # encoding: [0x40,0xc8,A,0bAAAAAA11]
1037# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1038         bnlla- 2, target
1039# CHECK: bgela- 0, target                # encoding: [0x40,0xc0,A,0bAAAAAA11]
1040# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1041         bnlla- target
1042# CHECK: bgelrl- 2                       # encoding: [0x4c,0xc8,0x00,0x21]
1043         bnllrl- 2
1044# CHECK: bgelrl- 0                       # encoding: [0x4c,0xc0,0x00,0x21]
1045         bnllrl-
1046# CHECK: bgectrl- 2                      # encoding: [0x4c,0xc8,0x04,0x21]
1047         bnlctrl- 2
1048# CHECK: bgectrl- 0                      # encoding: [0x4c,0xc0,0x04,0x21]
1049         bnlctrl-
1050
1051# CHECK: bne 2, target                   # encoding: [0x40,0x8a,A,0bAAAAAA00]
1052# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1053         bne 2, target
1054# CHECK: bne 0, target                   # encoding: [0x40,0x82,A,0bAAAAAA00]
1055# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1056         bne target
1057# CHECK: bnea 2, target                  # encoding: [0x40,0x8a,A,0bAAAAAA10]
1058# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1059         bnea 2, target
1060# CHECK: bnea 0, target                  # encoding: [0x40,0x82,A,0bAAAAAA10]
1061# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1062         bnea target
1063# CHECK: bnelr 2                         # encoding: [0x4c,0x8a,0x00,0x20]
1064         bnelr 2
1065# CHECK: bnelr 0                         # encoding: [0x4c,0x82,0x00,0x20]
1066         bnelr
1067# CHECK: bnectr 2                        # encoding: [0x4c,0x8a,0x04,0x20]
1068         bnectr 2
1069# CHECK: bnectr 0                        # encoding: [0x4c,0x82,0x04,0x20]
1070         bnectr
1071# CHECK: bnel 2, target                  # encoding: [0x40,0x8a,A,0bAAAAAA01]
1072# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1073         bnel 2, target
1074# CHECK: bnel 0, target                  # encoding: [0x40,0x82,A,0bAAAAAA01]
1075# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1076         bnel target
1077# CHECK: bnela 2, target                 # encoding: [0x40,0x8a,A,0bAAAAAA11]
1078# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1079         bnela 2, target
1080# CHECK: bnela 0, target                 # encoding: [0x40,0x82,A,0bAAAAAA11]
1081# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1082         bnela target
1083# CHECK: bnelrl 2                        # encoding: [0x4c,0x8a,0x00,0x21]
1084         bnelrl 2
1085# CHECK: bnelrl 0                        # encoding: [0x4c,0x82,0x00,0x21]
1086         bnelrl
1087# CHECK: bnectrl 2                       # encoding: [0x4c,0x8a,0x04,0x21]
1088         bnectrl 2
1089# CHECK: bnectrl 0                       # encoding: [0x4c,0x82,0x04,0x21]
1090         bnectrl
1091
1092# CHECK: bne+ 2, target                  # encoding: [0x40,0xea,A,0bAAAAAA00]
1093# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1094         bne+ 2, target
1095# CHECK: bne+ 0, target                  # encoding: [0x40,0xe2,A,0bAAAAAA00]
1096# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1097         bne+ target
1098# CHECK: bnea+ 2, target                 # encoding: [0x40,0xea,A,0bAAAAAA10]
1099# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1100         bnea+ 2, target
1101# CHECK: bnea+ 0, target                 # encoding: [0x40,0xe2,A,0bAAAAAA10]
1102# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1103         bnea+ target
1104# CHECK: bnelr+ 2                        # encoding: [0x4c,0xea,0x00,0x20]
1105         bnelr+ 2
1106# CHECK: bnelr+ 0                        # encoding: [0x4c,0xe2,0x00,0x20]
1107         bnelr+
1108# CHECK: bnectr+ 2                       # encoding: [0x4c,0xea,0x04,0x20]
1109         bnectr+ 2
1110# CHECK: bnectr+ 0                       # encoding: [0x4c,0xe2,0x04,0x20]
1111         bnectr+
1112# CHECK: bnel+ 2, target                 # encoding: [0x40,0xea,A,0bAAAAAA01]
1113# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1114         bnel+ 2, target
1115# CHECK: bnel+ 0, target                 # encoding: [0x40,0xe2,A,0bAAAAAA01]
1116# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1117         bnel+ target
1118# CHECK: bnela+ 2, target                # encoding: [0x40,0xea,A,0bAAAAAA11]
1119# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1120         bnela+ 2, target
1121# CHECK: bnela+ 0, target                # encoding: [0x40,0xe2,A,0bAAAAAA11]
1122# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1123         bnela+ target
1124# CHECK: bnelrl+ 2                       # encoding: [0x4c,0xea,0x00,0x21]
1125         bnelrl+ 2
1126# CHECK: bnelrl+ 0                       # encoding: [0x4c,0xe2,0x00,0x21]
1127         bnelrl+
1128# CHECK: bnectrl+ 2                      # encoding: [0x4c,0xea,0x04,0x21]
1129         bnectrl+ 2
1130# CHECK: bnectrl+ 0                      # encoding: [0x4c,0xe2,0x04,0x21]
1131         bnectrl+
1132
1133# CHECK: bne- 2, target                  # encoding: [0x40,0xca,A,0bAAAAAA00]
1134# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1135         bne- 2, target
1136# CHECK: bne- 0, target                  # encoding: [0x40,0xc2,A,0bAAAAAA00]
1137# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1138         bne- target
1139# CHECK: bnea- 2, target                 # encoding: [0x40,0xca,A,0bAAAAAA10]
1140# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1141         bnea- 2, target
1142# CHECK: bnea- 0, target                 # encoding: [0x40,0xc2,A,0bAAAAAA10]
1143# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1144         bnea- target
1145# CHECK: bnelr- 2                        # encoding: [0x4c,0xca,0x00,0x20]
1146         bnelr- 2
1147# CHECK: bnelr- 0                        # encoding: [0x4c,0xc2,0x00,0x20]
1148         bnelr-
1149# CHECK: bnectr- 2                       # encoding: [0x4c,0xca,0x04,0x20]
1150         bnectr- 2
1151# CHECK: bnectr- 0                       # encoding: [0x4c,0xc2,0x04,0x20]
1152         bnectr-
1153# CHECK: bnel- 2, target                 # encoding: [0x40,0xca,A,0bAAAAAA01]
1154# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1155         bnel- 2, target
1156# CHECK: bnel- 0, target                 # encoding: [0x40,0xc2,A,0bAAAAAA01]
1157# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1158         bnel- target
1159# CHECK: bnela- 2, target                # encoding: [0x40,0xca,A,0bAAAAAA11]
1160# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1161         bnela- 2, target
1162# CHECK: bnela- 0, target                # encoding: [0x40,0xc2,A,0bAAAAAA11]
1163# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1164         bnela- target
1165# CHECK: bnelrl- 2                       # encoding: [0x4c,0xca,0x00,0x21]
1166         bnelrl- 2
1167# CHECK: bnelrl- 0                       # encoding: [0x4c,0xc2,0x00,0x21]
1168         bnelrl-
1169# CHECK: bnectrl- 2                      # encoding: [0x4c,0xca,0x04,0x21]
1170         bnectrl- 2
1171# CHECK: bnectrl- 0                      # encoding: [0x4c,0xc2,0x04,0x21]
1172         bnectrl-
1173
1174# CHECK: ble 2, target                   # encoding: [0x40,0x89,A,0bAAAAAA00]
1175# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1176         bng 2, target
1177# CHECK: ble 0, target                   # encoding: [0x40,0x81,A,0bAAAAAA00]
1178# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1179         bng target
1180# CHECK: blea 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA10]
1181# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1182         bnga 2, target
1183# CHECK: blea 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA10]
1184# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1185         bnga target
1186# CHECK: blelr 2                         # encoding: [0x4c,0x89,0x00,0x20]
1187         bnglr 2
1188# CHECK: blelr 0                         # encoding: [0x4c,0x81,0x00,0x20]
1189         bnglr
1190# CHECK: blectr 2                        # encoding: [0x4c,0x89,0x04,0x20]
1191         bngctr 2
1192# CHECK: blectr 0                        # encoding: [0x4c,0x81,0x04,0x20]
1193         bngctr
1194# CHECK: blel 2, target                  # encoding: [0x40,0x89,A,0bAAAAAA01]
1195# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1196         bngl 2, target
1197# CHECK: blel 0, target                  # encoding: [0x40,0x81,A,0bAAAAAA01]
1198# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1199         bngl target
1200# CHECK: blela 2, target                 # encoding: [0x40,0x89,A,0bAAAAAA11]
1201# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1202         bngla 2, target
1203# CHECK: blela 0, target                 # encoding: [0x40,0x81,A,0bAAAAAA11]
1204# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1205         bngla target
1206# CHECK: blelrl 2                        # encoding: [0x4c,0x89,0x00,0x21]
1207         bnglrl 2
1208# CHECK: blelrl 0                        # encoding: [0x4c,0x81,0x00,0x21]
1209         bnglrl
1210# CHECK: blectrl 2                       # encoding: [0x4c,0x89,0x04,0x21]
1211         bngctrl 2
1212# CHECK: blectrl 0                       # encoding: [0x4c,0x81,0x04,0x21]
1213         bngctrl
1214
1215# CHECK: ble+ 2, target                   # encoding: [0x40,0xe9,A,0bAAAAAA00]
1216# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1217         bng+ 2, target
1218# CHECK: ble+ 0, target                   # encoding: [0x40,0xe1,A,0bAAAAAA00]
1219# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1220         bng+ target
1221# CHECK: blea+ 2, target                  # encoding: [0x40,0xe9,A,0bAAAAAA10]
1222# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1223         bnga+ 2, target
1224# CHECK: blea+ 0, target                  # encoding: [0x40,0xe1,A,0bAAAAAA10]
1225# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1226         bnga+ target
1227# CHECK: blelr+ 2                         # encoding: [0x4c,0xe9,0x00,0x20]
1228         bnglr+ 2
1229# CHECK: blelr+ 0                         # encoding: [0x4c,0xe1,0x00,0x20]
1230         bnglr+
1231# CHECK: blectr+ 2                        # encoding: [0x4c,0xe9,0x04,0x20]
1232         bngctr+ 2
1233# CHECK: blectr+ 0                        # encoding: [0x4c,0xe1,0x04,0x20]
1234         bngctr+
1235# CHECK: blel+ 2, target                  # encoding: [0x40,0xe9,A,0bAAAAAA01]
1236# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1237         bngl+ 2, target
1238# CHECK: blel+ 0, target                  # encoding: [0x40,0xe1,A,0bAAAAAA01]
1239# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1240         bngl+ target
1241# CHECK: blela+ 2, target                 # encoding: [0x40,0xe9,A,0bAAAAAA11]
1242# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1243         bngla+ 2, target
1244# CHECK: blela+ 0, target                 # encoding: [0x40,0xe1,A,0bAAAAAA11]
1245# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1246         bngla+ target
1247# CHECK: blelrl+ 2                        # encoding: [0x4c,0xe9,0x00,0x21]
1248         bnglrl+ 2
1249# CHECK: blelrl+ 0                        # encoding: [0x4c,0xe1,0x00,0x21]
1250         bnglrl+
1251# CHECK: blectrl+ 2                       # encoding: [0x4c,0xe9,0x04,0x21]
1252         bngctrl+ 2
1253# CHECK: blectrl+ 0                       # encoding: [0x4c,0xe1,0x04,0x21]
1254         bngctrl+
1255
1256# CHECK: ble- 2, target                   # encoding: [0x40,0xc9,A,0bAAAAAA00]
1257# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1258         bng- 2, target
1259# CHECK: ble- 0, target                   # encoding: [0x40,0xc1,A,0bAAAAAA00]
1260# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1261         bng- target
1262# CHECK: blea- 2, target                  # encoding: [0x40,0xc9,A,0bAAAAAA10]
1263# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1264         bnga- 2, target
1265# CHECK: blea- 0, target                  # encoding: [0x40,0xc1,A,0bAAAAAA10]
1266# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1267         bnga- target
1268# CHECK: blelr- 2                         # encoding: [0x4c,0xc9,0x00,0x20]
1269         bnglr- 2
1270# CHECK: blelr- 0                         # encoding: [0x4c,0xc1,0x00,0x20]
1271         bnglr-
1272# CHECK: blectr- 2                        # encoding: [0x4c,0xc9,0x04,0x20]
1273         bngctr- 2
1274# CHECK: blectr- 0                        # encoding: [0x4c,0xc1,0x04,0x20]
1275         bngctr-
1276# CHECK: blel- 2, target                  # encoding: [0x40,0xc9,A,0bAAAAAA01]
1277# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1278         bngl- 2, target
1279# CHECK: blel- 0, target                  # encoding: [0x40,0xc1,A,0bAAAAAA01]
1280# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1281         bngl- target
1282# CHECK: blela- 2, target                 # encoding: [0x40,0xc9,A,0bAAAAAA11]
1283# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1284         bngla- 2, target
1285# CHECK: blela- 0, target                 # encoding: [0x40,0xc1,A,0bAAAAAA11]
1286# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1287         bngla- target
1288# CHECK: blelrl- 2                        # encoding: [0x4c,0xc9,0x00,0x21]
1289         bnglrl- 2
1290# CHECK: blelrl- 0                        # encoding: [0x4c,0xc1,0x00,0x21]
1291         bnglrl-
1292# CHECK: blectrl- 2                       # encoding: [0x4c,0xc9,0x04,0x21]
1293         bngctrl- 2
1294# CHECK: blectrl- 0                       # encoding: [0x4c,0xc1,0x04,0x21]
1295         bngctrl-
1296
1297# CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
1298# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1299         bso 2, target
1300# CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
1301# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1302         bso target
1303# CHECK: buna 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA10]
1304# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1305         bsoa 2, target
1306# CHECK: buna 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA10]
1307# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1308         bsoa target
1309# CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
1310         bsolr 2
1311# CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
1312         bsolr
1313# CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
1314         bsoctr 2
1315# CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
1316         bsoctr
1317# CHECK: bunl 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA01]
1318# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1319         bsol 2, target
1320# CHECK: bunl 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA01]
1321# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1322         bsol target
1323# CHECK: bunla 2, target                 # encoding: [0x41,0x8b,A,0bAAAAAA11]
1324# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1325         bsola 2, target
1326# CHECK: bunla 0, target                 # encoding: [0x41,0x83,A,0bAAAAAA11]
1327# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1328         bsola target
1329# CHECK: bunlrl 2                        # encoding: [0x4d,0x8b,0x00,0x21]
1330         bsolrl 2
1331# CHECK: bunlrl 0                        # encoding: [0x4d,0x83,0x00,0x21]
1332         bsolrl
1333# CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
1334         bsoctrl 2
1335# CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
1336         bsoctrl
1337
1338# CHECK: bun+ 2, target                  # encoding: [0x41,0xeb,A,0bAAAAAA00]
1339# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1340         bso+ 2, target
1341# CHECK: bun+ 0, target                  # encoding: [0x41,0xe3,A,0bAAAAAA00]
1342# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1343         bso+ target
1344# CHECK: buna+ 2, target                 # encoding: [0x41,0xeb,A,0bAAAAAA10]
1345# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1346         bsoa+ 2, target
1347# CHECK: buna+ 0, target                 # encoding: [0x41,0xe3,A,0bAAAAAA10]
1348# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1349         bsoa+ target
1350# CHECK: bunlr+ 2                        # encoding: [0x4d,0xeb,0x00,0x20]
1351         bsolr+ 2
1352# CHECK: bunlr+ 0                        # encoding: [0x4d,0xe3,0x00,0x20]
1353         bsolr+
1354# CHECK: bunctr+ 2                       # encoding: [0x4d,0xeb,0x04,0x20]
1355         bsoctr+ 2
1356# CHECK: bunctr+ 0                       # encoding: [0x4d,0xe3,0x04,0x20]
1357         bsoctr+
1358# CHECK: bunl+ 2, target                 # encoding: [0x41,0xeb,A,0bAAAAAA01]
1359# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1360         bsol+ 2, target
1361# CHECK: bunl+ 0, target                 # encoding: [0x41,0xe3,A,0bAAAAAA01]
1362# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1363         bsol+ target
1364# CHECK: bunla+ 2, target                # encoding: [0x41,0xeb,A,0bAAAAAA11]
1365# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1366         bsola+ 2, target
1367# CHECK: bunla+ 0, target                # encoding: [0x41,0xe3,A,0bAAAAAA11]
1368# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1369         bsola+ target
1370# CHECK: bunlrl+ 2                       # encoding: [0x4d,0xeb,0x00,0x21]
1371         bsolrl+ 2
1372# CHECK: bunlrl+ 0                       # encoding: [0x4d,0xe3,0x00,0x21]
1373         bsolrl+
1374# CHECK: bunctrl+ 2                      # encoding: [0x4d,0xeb,0x04,0x21]
1375         bsoctrl+ 2
1376# CHECK: bunctrl+ 0                      # encoding: [0x4d,0xe3,0x04,0x21]
1377         bsoctrl+
1378
1379# CHECK: bun- 2, target                  # encoding: [0x41,0xcb,A,0bAAAAAA00]
1380# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1381         bso- 2, target
1382# CHECK: bun- 0, target                  # encoding: [0x41,0xc3,A,0bAAAAAA00]
1383# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1384         bso- target
1385# CHECK: buna- 2, target                 # encoding: [0x41,0xcb,A,0bAAAAAA10]
1386# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1387         bsoa- 2, target
1388# CHECK: buna- 0, target                 # encoding: [0x41,0xc3,A,0bAAAAAA10]
1389# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1390         bsoa- target
1391# CHECK: bunlr- 2                        # encoding: [0x4d,0xcb,0x00,0x20]
1392         bsolr- 2
1393# CHECK: bunlr- 0                        # encoding: [0x4d,0xc3,0x00,0x20]
1394         bsolr-
1395# CHECK: bunctr- 2                       # encoding: [0x4d,0xcb,0x04,0x20]
1396         bsoctr- 2
1397# CHECK: bunctr- 0                       # encoding: [0x4d,0xc3,0x04,0x20]
1398         bsoctr-
1399# CHECK: bunl- 2, target                 # encoding: [0x41,0xcb,A,0bAAAAAA01]
1400# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1401         bsol- 2, target
1402# CHECK: bunl- 0, target                 # encoding: [0x41,0xc3,A,0bAAAAAA01]
1403# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1404         bsol- target
1405# CHECK: bunla- 2, target                # encoding: [0x41,0xcb,A,0bAAAAAA11]
1406# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1407         bsola- 2, target
1408# CHECK: bunla- 0, target                # encoding: [0x41,0xc3,A,0bAAAAAA11]
1409# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1410         bsola- target
1411# CHECK: bunlrl- 2                       # encoding: [0x4d,0xcb,0x00,0x21]
1412         bsolrl- 2
1413# CHECK: bunlrl- 0                       # encoding: [0x4d,0xc3,0x00,0x21]
1414         bsolrl-
1415# CHECK: bunctrl- 2                      # encoding: [0x4d,0xcb,0x04,0x21]
1416         bsoctrl- 2
1417# CHECK: bunctrl- 0                      # encoding: [0x4d,0xc3,0x04,0x21]
1418         bsoctrl-
1419
1420# CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
1421# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1422         bns 2, target
1423# CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
1424# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1425         bns target
1426# CHECK: bnua 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA10]
1427# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1428         bnsa 2, target
1429# CHECK: bnua 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA10]
1430# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1431         bnsa target
1432# CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
1433         bnslr 2
1434# CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
1435         bnslr
1436# CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
1437         bnsctr 2
1438# CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
1439         bnsctr
1440# CHECK: bnul 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA01]
1441# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1442         bnsl 2, target
1443# CHECK: bnul 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA01]
1444# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1445         bnsl target
1446# CHECK: bnula 2, target                 # encoding: [0x40,0x8b,A,0bAAAAAA11]
1447# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1448         bnsla 2, target
1449# CHECK: bnula 0, target                 # encoding: [0x40,0x83,A,0bAAAAAA11]
1450# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1451         bnsla target
1452# CHECK: bnulrl 2                        # encoding: [0x4c,0x8b,0x00,0x21]
1453         bnslrl 2
1454# CHECK: bnulrl 0                        # encoding: [0x4c,0x83,0x00,0x21]
1455         bnslrl
1456# CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
1457         bnsctrl 2
1458# CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
1459         bnsctrl
1460
1461# CHECK: bnu+ 2, target                  # encoding: [0x40,0xeb,A,0bAAAAAA00]
1462# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1463         bns+ 2, target
1464# CHECK: bnu+ 0, target                  # encoding: [0x40,0xe3,A,0bAAAAAA00]
1465# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1466         bns+ target
1467# CHECK: bnua+ 2, target                 # encoding: [0x40,0xeb,A,0bAAAAAA10]
1468# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1469         bnsa+ 2, target
1470# CHECK: bnua+ 0, target                 # encoding: [0x40,0xe3,A,0bAAAAAA10]
1471# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1472         bnsa+ target
1473# CHECK: bnulr+ 2                        # encoding: [0x4c,0xeb,0x00,0x20]
1474         bnslr+ 2
1475# CHECK: bnulr+ 0                        # encoding: [0x4c,0xe3,0x00,0x20]
1476         bnslr+
1477# CHECK: bnuctr+ 2                       # encoding: [0x4c,0xeb,0x04,0x20]
1478         bnsctr+ 2
1479# CHECK: bnuctr+ 0                       # encoding: [0x4c,0xe3,0x04,0x20]
1480         bnsctr+
1481# CHECK: bnul+ 2, target                 # encoding: [0x40,0xeb,A,0bAAAAAA01]
1482# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1483         bnsl+ 2, target
1484# CHECK: bnul+ 0, target                 # encoding: [0x40,0xe3,A,0bAAAAAA01]
1485# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1486         bnsl+ target
1487# CHECK: bnula+ 2, target                # encoding: [0x40,0xeb,A,0bAAAAAA11]
1488# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1489         bnsla+ 2, target
1490# CHECK: bnula+ 0, target                # encoding: [0x40,0xe3,A,0bAAAAAA11]
1491# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1492         bnsla+ target
1493# CHECK: bnulrl+ 2                       # encoding: [0x4c,0xeb,0x00,0x21]
1494         bnslrl+ 2
1495# CHECK: bnulrl+ 0                       # encoding: [0x4c,0xe3,0x00,0x21]
1496         bnslrl+
1497# CHECK: bnuctrl+ 2                      # encoding: [0x4c,0xeb,0x04,0x21]
1498         bnsctrl+ 2
1499# CHECK: bnuctrl+ 0                      # encoding: [0x4c,0xe3,0x04,0x21]
1500         bnsctrl+
1501
1502# CHECK: bnu- 2, target                  # encoding: [0x40,0xcb,A,0bAAAAAA00]
1503# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1504         bns- 2, target
1505# CHECK: bnu- 0, target                  # encoding: [0x40,0xc3,A,0bAAAAAA00]
1506# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1507         bns- target
1508# CHECK: bnua- 2, target                 # encoding: [0x40,0xcb,A,0bAAAAAA10]
1509# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1510         bnsa- 2, target
1511# CHECK: bnua- 0, target                 # encoding: [0x40,0xc3,A,0bAAAAAA10]
1512# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1513         bnsa- target
1514# CHECK: bnulr- 2                        # encoding: [0x4c,0xcb,0x00,0x20]
1515         bnslr- 2
1516# CHECK: bnulr- 0                        # encoding: [0x4c,0xc3,0x00,0x20]
1517         bnslr-
1518# CHECK: bnuctr- 2                       # encoding: [0x4c,0xcb,0x04,0x20]
1519         bnsctr- 2
1520# CHECK: bnuctr- 0                       # encoding: [0x4c,0xc3,0x04,0x20]
1521         bnsctr-
1522# CHECK: bnul- 2, target                 # encoding: [0x40,0xcb,A,0bAAAAAA01]
1523# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1524         bnsl- 2, target
1525# CHECK: bnul- 0, target                 # encoding: [0x40,0xc3,A,0bAAAAAA01]
1526# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1527         bnsl- target
1528# CHECK: bnula- 2, target                # encoding: [0x40,0xcb,A,0bAAAAAA11]
1529# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1530         bnsla- 2, target
1531# CHECK: bnula- 0, target                # encoding: [0x40,0xc3,A,0bAAAAAA11]
1532# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1533         bnsla- target
1534# CHECK: bnulrl- 2                       # encoding: [0x4c,0xcb,0x00,0x21]
1535         bnslrl- 2
1536# CHECK: bnulrl- 0                       # encoding: [0x4c,0xc3,0x00,0x21]
1537         bnslrl-
1538# CHECK: bnuctrl- 2                      # encoding: [0x4c,0xcb,0x04,0x21]
1539         bnsctrl- 2
1540# CHECK: bnuctrl- 0                      # encoding: [0x4c,0xc3,0x04,0x21]
1541         bnsctrl-
1542
1543# CHECK: bun 2, target                   # encoding: [0x41,0x8b,A,0bAAAAAA00]
1544# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1545         bun 2, target
1546# CHECK: bun 0, target                   # encoding: [0x41,0x83,A,0bAAAAAA00]
1547# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1548         bun target
1549# CHECK: buna 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA10]
1550# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1551         buna 2, target
1552# CHECK: buna 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA10]
1553# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1554         buna target
1555# CHECK: bunlr 2                         # encoding: [0x4d,0x8b,0x00,0x20]
1556         bunlr 2
1557# CHECK: bunlr 0                         # encoding: [0x4d,0x83,0x00,0x20]
1558         bunlr
1559# CHECK: bunctr 2                        # encoding: [0x4d,0x8b,0x04,0x20]
1560         bunctr 2
1561# CHECK: bunctr 0                        # encoding: [0x4d,0x83,0x04,0x20]
1562         bunctr
1563# CHECK: bunl 2, target                  # encoding: [0x41,0x8b,A,0bAAAAAA01]
1564# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1565         bunl 2, target
1566# CHECK: bunl 0, target                  # encoding: [0x41,0x83,A,0bAAAAAA01]
1567# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1568         bunl target
1569# CHECK: bunla 2, target                 # encoding: [0x41,0x8b,A,0bAAAAAA11]
1570# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1571         bunla 2, target
1572# CHECK: bunla 0, target                 # encoding: [0x41,0x83,A,0bAAAAAA11]
1573# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1574         bunla target
1575# CHECK: bunlrl 2                        # encoding: [0x4d,0x8b,0x00,0x21]
1576         bunlrl 2
1577# CHECK: bunlrl 0                        # encoding: [0x4d,0x83,0x00,0x21]
1578         bunlrl
1579# CHECK: bunctrl 2                       # encoding: [0x4d,0x8b,0x04,0x21]
1580         bunctrl 2
1581# CHECK: bunctrl 0                       # encoding: [0x4d,0x83,0x04,0x21]
1582         bunctrl
1583
1584# CHECK: bun+ 2, target                  # encoding: [0x41,0xeb,A,0bAAAAAA00]
1585# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1586         bun+ 2, target
1587# CHECK: bun+ 0, target                  # encoding: [0x41,0xe3,A,0bAAAAAA00]
1588# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1589         bun+ target
1590# CHECK: buna+ 2, target                 # encoding: [0x41,0xeb,A,0bAAAAAA10]
1591# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1592         buna+ 2, target
1593# CHECK: buna+ 0, target                 # encoding: [0x41,0xe3,A,0bAAAAAA10]
1594# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1595         buna+ target
1596# CHECK: bunlr+ 2                        # encoding: [0x4d,0xeb,0x00,0x20]
1597         bunlr+ 2
1598# CHECK: bunlr+ 0                        # encoding: [0x4d,0xe3,0x00,0x20]
1599         bunlr+
1600# CHECK: bunctr+ 2                       # encoding: [0x4d,0xeb,0x04,0x20]
1601         bunctr+ 2
1602# CHECK: bunctr+ 0                       # encoding: [0x4d,0xe3,0x04,0x20]
1603         bunctr+
1604# CHECK: bunl+ 2, target                 # encoding: [0x41,0xeb,A,0bAAAAAA01]
1605# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1606         bunl+ 2, target
1607# CHECK: bunl+ 0, target                 # encoding: [0x41,0xe3,A,0bAAAAAA01]
1608# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1609         bunl+ target
1610# CHECK: bunla+ 2, target                # encoding: [0x41,0xeb,A,0bAAAAAA11]
1611# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1612         bunla+ 2, target
1613# CHECK: bunla+ 0, target                # encoding: [0x41,0xe3,A,0bAAAAAA11]
1614# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1615         bunla+ target
1616# CHECK: bunlrl+ 2                       # encoding: [0x4d,0xeb,0x00,0x21]
1617         bunlrl+ 2
1618# CHECK: bunlrl+ 0                       # encoding: [0x4d,0xe3,0x00,0x21]
1619         bunlrl+
1620# CHECK: bunctrl+ 2                      # encoding: [0x4d,0xeb,0x04,0x21]
1621         bunctrl+ 2
1622# CHECK: bunctrl+ 0                      # encoding: [0x4d,0xe3,0x04,0x21]
1623         bunctrl+
1624
1625# CHECK: bun- 2, target                  # encoding: [0x41,0xcb,A,0bAAAAAA00]
1626# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1627         bun- 2, target
1628# CHECK: bun- 0, target                  # encoding: [0x41,0xc3,A,0bAAAAAA00]
1629# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1630         bun- target
1631# CHECK: buna- 2, target                 # encoding: [0x41,0xcb,A,0bAAAAAA10]
1632# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1633         buna- 2, target
1634# CHECK: buna- 0, target                 # encoding: [0x41,0xc3,A,0bAAAAAA10]
1635# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1636         buna- target
1637# CHECK: bunlr- 2                        # encoding: [0x4d,0xcb,0x00,0x20]
1638         bunlr- 2
1639# CHECK: bunlr- 0                        # encoding: [0x4d,0xc3,0x00,0x20]
1640         bunlr-
1641# CHECK: bunctr- 2                       # encoding: [0x4d,0xcb,0x04,0x20]
1642         bunctr- 2
1643# CHECK: bunctr- 0                       # encoding: [0x4d,0xc3,0x04,0x20]
1644         bunctr-
1645# CHECK: bunl- 2, target                 # encoding: [0x41,0xcb,A,0bAAAAAA01]
1646# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1647         bunl- 2, target
1648# CHECK: bunl- 0, target                 # encoding: [0x41,0xc3,A,0bAAAAAA01]
1649# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1650         bunl- target
1651# CHECK: bunla- 2, target                # encoding: [0x41,0xcb,A,0bAAAAAA11]
1652# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1653         bunla- 2, target
1654# CHECK: bunla- 0, target                # encoding: [0x41,0xc3,A,0bAAAAAA11]
1655# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1656         bunla- target
1657# CHECK: bunlrl- 2                       # encoding: [0x4d,0xcb,0x00,0x21]
1658         bunlrl- 2
1659# CHECK: bunlrl- 0                       # encoding: [0x4d,0xc3,0x00,0x21]
1660         bunlrl-
1661# CHECK: bunctrl- 2                      # encoding: [0x4d,0xcb,0x04,0x21]
1662         bunctrl- 2
1663# CHECK: bunctrl- 0                      # encoding: [0x4d,0xc3,0x04,0x21]
1664         bunctrl-
1665
1666# CHECK: bnu 2, target                   # encoding: [0x40,0x8b,A,0bAAAAAA00]
1667# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1668         bnu 2, target
1669# CHECK: bnu 0, target                   # encoding: [0x40,0x83,A,0bAAAAAA00]
1670# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1671         bnu target
1672# CHECK: bnua 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA10]
1673# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1674         bnua 2, target
1675# CHECK: bnua 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA10]
1676# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1677         bnua target
1678# CHECK: bnulr 2                         # encoding: [0x4c,0x8b,0x00,0x20]
1679         bnulr 2
1680# CHECK: bnulr 0                         # encoding: [0x4c,0x83,0x00,0x20]
1681         bnulr
1682# CHECK: bnuctr 2                        # encoding: [0x4c,0x8b,0x04,0x20]
1683         bnuctr 2
1684# CHECK: bnuctr 0                        # encoding: [0x4c,0x83,0x04,0x20]
1685         bnuctr
1686# CHECK: bnul 2, target                  # encoding: [0x40,0x8b,A,0bAAAAAA01]
1687# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1688         bnul 2, target
1689# CHECK: bnul 0, target                  # encoding: [0x40,0x83,A,0bAAAAAA01]
1690# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1691         bnul target
1692# CHECK: bnula 2, target                 # encoding: [0x40,0x8b,A,0bAAAAAA11]
1693# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1694         bnula 2, target
1695# CHECK: bnula 0, target                 # encoding: [0x40,0x83,A,0bAAAAAA11]
1696# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1697         bnula target
1698# CHECK: bnulrl 2                        # encoding: [0x4c,0x8b,0x00,0x21]
1699         bnulrl 2
1700# CHECK: bnulrl 0                        # encoding: [0x4c,0x83,0x00,0x21]
1701         bnulrl
1702# CHECK: bnuctrl 2                       # encoding: [0x4c,0x8b,0x04,0x21]
1703         bnuctrl 2
1704# CHECK: bnuctrl 0                       # encoding: [0x4c,0x83,0x04,0x21]
1705         bnuctrl
1706
1707# CHECK: bnu+ 2, target                  # encoding: [0x40,0xeb,A,0bAAAAAA00]
1708# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1709         bnu+ 2, target
1710# CHECK: bnu+ 0, target                  # encoding: [0x40,0xe3,A,0bAAAAAA00]
1711# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1712         bnu+ target
1713# CHECK: bnua+ 2, target                 # encoding: [0x40,0xeb,A,0bAAAAAA10]
1714# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1715         bnua+ 2, target
1716# CHECK: bnua+ 0, target                 # encoding: [0x40,0xe3,A,0bAAAAAA10]
1717# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1718         bnua+ target
1719# CHECK: bnulr+ 2                        # encoding: [0x4c,0xeb,0x00,0x20]
1720         bnulr+ 2
1721# CHECK: bnulr+ 0                        # encoding: [0x4c,0xe3,0x00,0x20]
1722         bnulr+
1723# CHECK: bnuctr+ 2                       # encoding: [0x4c,0xeb,0x04,0x20]
1724         bnuctr+ 2
1725# CHECK: bnuctr+ 0                       # encoding: [0x4c,0xe3,0x04,0x20]
1726         bnuctr+
1727# CHECK: bnul+ 2, target                 # encoding: [0x40,0xeb,A,0bAAAAAA01]
1728# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1729         bnul+ 2, target
1730# CHECK: bnul+ 0, target                 # encoding: [0x40,0xe3,A,0bAAAAAA01]
1731# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1732         bnul+ target
1733# CHECK: bnula+ 2, target                # encoding: [0x40,0xeb,A,0bAAAAAA11]
1734# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1735         bnula+ 2, target
1736# CHECK: bnula+ 0, target                # encoding: [0x40,0xe3,A,0bAAAAAA11]
1737# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1738         bnula+ target
1739# CHECK: bnulrl+ 2                       # encoding: [0x4c,0xeb,0x00,0x21]
1740         bnulrl+ 2
1741# CHECK: bnulrl+ 0                       # encoding: [0x4c,0xe3,0x00,0x21]
1742         bnulrl+
1743# CHECK: bnuctrl+ 2                      # encoding: [0x4c,0xeb,0x04,0x21]
1744         bnuctrl+ 2
1745# CHECK: bnuctrl+ 0                      # encoding: [0x4c,0xe3,0x04,0x21]
1746         bnuctrl+
1747
1748# CHECK: bnu- 2, target                  # encoding: [0x40,0xcb,A,0bAAAAAA00]
1749# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1750         bnu- 2, target
1751# CHECK: bnu- 0, target                  # encoding: [0x40,0xc3,A,0bAAAAAA00]
1752# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1753         bnu- target
1754# CHECK: bnua- 2, target                 # encoding: [0x40,0xcb,A,0bAAAAAA10]
1755# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1756         bnua- 2, target
1757# CHECK: bnua- 0, target                 # encoding: [0x40,0xc3,A,0bAAAAAA10]
1758# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1759         bnua- target
1760# CHECK: bnulr- 2                        # encoding: [0x4c,0xcb,0x00,0x20]
1761         bnulr- 2
1762# CHECK: bnulr- 0                        # encoding: [0x4c,0xc3,0x00,0x20]
1763         bnulr-
1764# CHECK: bnuctr- 2                       # encoding: [0x4c,0xcb,0x04,0x20]
1765         bnuctr- 2
1766# CHECK: bnuctr- 0                       # encoding: [0x4c,0xc3,0x04,0x20]
1767         bnuctr-
1768# CHECK: bnul- 2, target                 # encoding: [0x40,0xcb,A,0bAAAAAA01]
1769# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1770         bnul- 2, target
1771# CHECK: bnul- 0, target                 # encoding: [0x40,0xc3,A,0bAAAAAA01]
1772# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1773         bnul- target
1774# CHECK: bnula- 2, target                # encoding: [0x40,0xcb,A,0bAAAAAA11]
1775# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1776         bnula- 2, target
1777# CHECK: bnula- 0, target                # encoding: [0x40,0xc3,A,0bAAAAAA11]
1778# CHECK-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1779         bnula- target
1780# CHECK: bnulrl- 2                       # encoding: [0x4c,0xcb,0x00,0x21]
1781         bnulrl- 2
1782# CHECK: bnulrl- 0                       # encoding: [0x4c,0xc3,0x00,0x21]
1783         bnulrl-
1784# CHECK: bnuctrl- 2                      # encoding: [0x4c,0xcb,0x04,0x21]
1785         bnuctrl- 2
1786# CHECK: bnuctrl- 0                      # encoding: [0x4c,0xc3,0x04,0x21]
1787         bnuctrl-
1788
1789# Condition register logical mnemonics
1790
1791# CHECK: creqv 2, 2, 2                   # encoding: [0x4c,0x42,0x12,0x42]
1792         crset 2
1793# CHECK: crxor 2, 2, 2                   # encoding: [0x4c,0x42,0x11,0x82]
1794         crclr 2
1795# CHECK: cror 2, 3, 3                    # encoding: [0x4c,0x43,0x1b,0x82]
1796         crmove 2, 3
1797# CHECK: crnor 2, 3, 3                   # encoding: [0x4c,0x43,0x18,0x42]
1798         crnot 2, 3
1799
1800# Subtract mnemonics
1801
1802# CHECK: addi 2, 3, -128                 # encoding: [0x38,0x43,0xff,0x80]
1803         subi 2, 3, 128
1804# CHECK: addis 2, 3, -128                # encoding: [0x3c,0x43,0xff,0x80]
1805         subis 2, 3, 128
1806# CHECK: addic 2, 3, -128                # encoding: [0x30,0x43,0xff,0x80]
1807         subic 2, 3, 128
1808# CHECK: addic. 2, 3, -128               # encoding: [0x34,0x43,0xff,0x80]
1809         subic. 2, 3, 128
1810
1811# CHECK: subf 2, 4, 3                    # encoding: [0x7c,0x44,0x18,0x50]
1812         sub 2, 3, 4
1813# CHECK: subf. 2, 4, 3                   # encoding: [0x7c,0x44,0x18,0x51]
1814         sub. 2, 3, 4
1815# CHECK: subfc 2, 4, 3                   # encoding: [0x7c,0x44,0x18,0x10]
1816         subc 2, 3, 4
1817# CHECK: subfc. 2, 4, 3                  # encoding: [0x7c,0x44,0x18,0x11]
1818         subc. 2, 3, 4
1819
1820# Compare mnemonics
1821
1822# CHECK: cmpdi 2, 3, 128                 # encoding: [0x2d,0x23,0x00,0x80]
1823         cmpdi 2, 3, 128
1824# CHECK: cmpdi 0, 3, 128                 # encoding: [0x2c,0x23,0x00,0x80]
1825         cmpdi 3, 128
1826# CHECK: cmpd 2, 3, 4                    # encoding: [0x7d,0x23,0x20,0x00]
1827         cmpd 2, 3, 4
1828# CHECK: cmpd 0, 3, 4                    # encoding: [0x7c,0x23,0x20,0x00]
1829         cmpd 3, 4
1830# CHECK: cmpldi 2, 3, 128                # encoding: [0x29,0x23,0x00,0x80]
1831         cmpldi 2, 3, 128
1832# CHECK: cmpldi 0, 3, 128                # encoding: [0x28,0x23,0x00,0x80]
1833         cmpldi 3, 128
1834# CHECK: cmpld 2, 3, 4                   # encoding: [0x7d,0x23,0x20,0x40]
1835         cmpld 2, 3, 4
1836# CHECK: cmpld 0, 3, 4                   # encoding: [0x7c,0x23,0x20,0x40]
1837         cmpld 3, 4
1838
1839# CHECK: cmpwi 2, 3, 128                 # encoding: [0x2d,0x03,0x00,0x80]
1840         cmpwi 2, 3, 128
1841# CHECK: cmpwi 0, 3, 128                 # encoding: [0x2c,0x03,0x00,0x80]
1842         cmpwi 3, 128
1843# CHECK: cmpw 2, 3, 4                    # encoding: [0x7d,0x03,0x20,0x00]
1844         cmpw 2, 3, 4
1845# CHECK: cmpw 0, 3, 4                    # encoding: [0x7c,0x03,0x20,0x00]
1846         cmpw 3, 4
1847# CHECK: cmplwi 2, 3, 128                # encoding: [0x29,0x03,0x00,0x80]
1848         cmplwi 2, 3, 128
1849# CHECK: cmplwi 0, 3, 128                # encoding: [0x28,0x03,0x00,0x80]
1850         cmplwi 3, 128
1851# CHECK: cmplw 2, 3, 4                   # encoding: [0x7d,0x03,0x20,0x40]
1852         cmplw 2, 3, 4
1853# CHECK: cmplw 0, 3, 4                   # encoding: [0x7c,0x03,0x20,0x40]
1854         cmplw 3, 4
1855
1856# FIXME: Trap mnemonics
1857
1858# Rotate and shift mnemonics
1859
1860# CHECK: rldicr 2, 3, 5, 3               # encoding: [0x78,0x62,0x28,0xc4]
1861         extldi 2, 3, 4, 5
1862# CHECK: rldicr. 2, 3, 5, 3              # encoding: [0x78,0x62,0x28,0xc5]
1863         extldi. 2, 3, 4, 5
1864# CHECK: rldicl 2, 3, 9, 60              # encoding: [0x78,0x62,0x4f,0x20]
1865         extrdi 2, 3, 4, 5
1866# CHECK: rldicl. 2, 3, 9, 60             # encoding: [0x78,0x62,0x4f,0x21]
1867         extrdi. 2, 3, 4, 5
1868# CHECK: rldimi 2, 3, 55, 5              # encoding: [0x78,0x62,0xb9,0x4e]
1869         insrdi 2, 3, 4, 5
1870# CHECK: rldimi. 2, 3, 55, 5             # encoding: [0x78,0x62,0xb9,0x4f]
1871         insrdi. 2, 3, 4, 5
1872# CHECK: rldicl 2, 3, 4, 0               # encoding: [0x78,0x62,0x20,0x00]
1873         rotldi 2, 3, 4
1874# CHECK: rldicl. 2, 3, 4, 0              # encoding: [0x78,0x62,0x20,0x01]
1875         rotldi. 2, 3, 4
1876# CHECK: rldicl 2, 3, 60, 0              # encoding: [0x78,0x62,0xe0,0x02]
1877         rotrdi 2, 3, 4
1878# CHECK: rldicl. 2, 3, 60, 0             # encoding: [0x78,0x62,0xe0,0x03]
1879         rotrdi. 2, 3, 4
1880# CHECK: rldcl 2, 3, 4, 0                # encoding: [0x78,0x62,0x20,0x10]
1881         rotld 2, 3, 4
1882# CHECK: rldcl. 2, 3, 4, 0               # encoding: [0x78,0x62,0x20,0x11]
1883         rotld. 2, 3, 4
1884# CHECK: sldi 2, 3, 4                    # encoding: [0x78,0x62,0x26,0xe4]
1885         sldi 2, 3, 4
1886# CHECK: rldicr. 2, 3, 4, 59             # encoding: [0x78,0x62,0x26,0xe5]
1887         sldi. 2, 3, 4
1888# CHECK: rldicl 2, 3, 60, 4              # encoding: [0x78,0x62,0xe1,0x02]
1889         srdi 2, 3, 4
1890# CHECK: rldicl. 2, 3, 60, 4             # encoding: [0x78,0x62,0xe1,0x03]
1891         srdi. 2, 3, 4
1892# CHECK: rldicl 2, 3, 0, 4               # encoding: [0x78,0x62,0x01,0x00]
1893         clrldi 2, 3, 4
1894# CHECK: rldicl. 2, 3, 0, 4              # encoding: [0x78,0x62,0x01,0x01]
1895         clrldi. 2, 3, 4
1896# CHECK: rldicr 2, 3, 0, 59              # encoding: [0x78,0x62,0x06,0xe4]
1897         clrrdi 2, 3, 4
1898# CHECK: rldicr. 2, 3, 0, 59             # encoding: [0x78,0x62,0x06,0xe5]
1899         clrrdi. 2, 3, 4
1900# CHECK: rldic 2, 3, 4, 1                # encoding: [0x78,0x62,0x20,0x48]
1901         clrlsldi 2, 3, 5, 4
1902# CHECK: rldic. 2, 3, 4, 1               # encoding: [0x78,0x62,0x20,0x49]
1903         clrlsldi. 2, 3, 5, 4
1904
1905# CHECK: rlwinm 2, 3, 5, 0, 3            # encoding: [0x54,0x62,0x28,0x06]
1906         extlwi 2, 3, 4, 5
1907# CHECK: rlwinm. 2, 3, 5, 0, 3           # encoding: [0x54,0x62,0x28,0x07]
1908         extlwi. 2, 3, 4, 5
1909# CHECK: rlwinm 2, 3, 9, 28, 31          # encoding: [0x54,0x62,0x4f,0x3e]
1910         extrwi 2, 3, 4, 5
1911# CHECK: rlwinm. 2, 3, 9, 28, 31         # encoding: [0x54,0x62,0x4f,0x3f]
1912         extrwi. 2, 3, 4, 5
1913# CHECK: rlwimi 2, 3, 27, 5, 8           # encoding: [0x50,0x62,0xd9,0x50]
1914         inslwi 2, 3, 4, 5
1915# CHECK: rlwimi. 2, 3, 27, 5, 8          # encoding: [0x50,0x62,0xd9,0x51]
1916         inslwi. 2, 3, 4, 5
1917# CHECK: rlwimi 2, 3, 23, 5, 8           # encoding: [0x50,0x62,0xb9,0x50]
1918         insrwi 2, 3, 4, 5
1919# CHECK: rlwimi. 2, 3, 23, 5, 8          # encoding: [0x50,0x62,0xb9,0x51]
1920         insrwi. 2, 3, 4, 5
1921# CHECK: rlwinm 2, 3, 4, 0, 31           # encoding: [0x54,0x62,0x20,0x3e]
1922         rotlwi 2, 3, 4
1923# CHECK: rlwinm. 2, 3, 4, 0, 31          # encoding: [0x54,0x62,0x20,0x3f]
1924         rotlwi. 2, 3, 4
1925# CHECK: rlwinm 2, 3, 28, 0, 31          # encoding: [0x54,0x62,0xe0,0x3e]
1926         rotrwi 2, 3, 4
1927# CHECK: rlwinm. 2, 3, 28, 0, 31         # encoding: [0x54,0x62,0xe0,0x3f]
1928         rotrwi. 2, 3, 4
1929# CHECK: rlwnm 2, 3, 4, 0, 31            # encoding: [0x5c,0x62,0x20,0x3e]
1930         rotlw 2, 3, 4
1931# CHECK: rlwnm. 2, 3, 4, 0, 31           # encoding: [0x5c,0x62,0x20,0x3f]
1932         rotlw. 2, 3, 4
1933# CHECK: slwi 2, 3, 4                    # encoding: [0x54,0x62,0x20,0x36]
1934         slwi 2, 3, 4
1935# CHECK: rlwinm. 2, 3, 4, 0, 27          # encoding: [0x54,0x62,0x20,0x37]
1936         slwi. 2, 3, 4
1937# CHECK: srwi 2, 3, 4                    # encoding: [0x54,0x62,0xe1,0x3e]
1938         srwi 2, 3, 4
1939# CHECK: rlwinm. 2, 3, 28, 4, 31         # encoding: [0x54,0x62,0xe1,0x3f]
1940         srwi. 2, 3, 4
1941# CHECK: rlwinm 2, 3, 0, 4, 31           # encoding: [0x54,0x62,0x01,0x3e]
1942         clrlwi 2, 3, 4
1943# CHECK: rlwinm. 2, 3, 0, 4, 31          # encoding: [0x54,0x62,0x01,0x3f]
1944         clrlwi. 2, 3, 4
1945# CHECK: rlwinm 2, 3, 0, 0, 27           # encoding: [0x54,0x62,0x00,0x36]
1946         clrrwi 2, 3, 4
1947# CHECK: rlwinm. 2, 3, 0, 0, 27          # encoding: [0x54,0x62,0x00,0x37]
1948         clrrwi. 2, 3, 4
1949# CHECK: rlwinm 2, 3, 4, 1, 27           # encoding: [0x54,0x62,0x20,0x76]
1950         clrlslwi 2, 3, 5, 4
1951# CHECK: rlwinm. 2, 3, 4, 1, 27          # encoding: [0x54,0x62,0x20,0x77]
1952         clrlslwi. 2, 3, 5, 4
1953
1954# Move to/from special purpose register mnemonics
1955
1956# FIXME: mtxer 2
1957# FIXME: mfxer 2
1958# CHECK: mtlr 2                          # encoding: [0x7c,0x48,0x03,0xa6]
1959         mtlr 2
1960# CHECK: mflr 2                          # encoding: [0x7c,0x48,0x02,0xa6]
1961         mflr 2
1962# CHECK: mtctr 2                         # encoding: [0x7c,0x49,0x03,0xa6]
1963         mtctr 2
1964# CHECK: mfctr 2                         # encoding: [0x7c,0x49,0x02,0xa6]
1965         mfctr 2
1966
1967# Miscellaneous mnemonics
1968
1969# CHECK: nop                             # encoding: [0x60,0x00,0x00,0x00]
1970         nop
1971# CHECK: xori 0, 0, 0                    # encoding: [0x68,0x00,0x00,0x00]
1972         xnop
1973# CHECK: li 2, 128                       # encoding: [0x38,0x40,0x00,0x80]
1974         li 2, 128
1975# CHECK: lis 2, 128                      # encoding: [0x3c,0x40,0x00,0x80]
1976         lis 2, 128
1977# CHECK: la 2, 128(4)
1978         la 2, 128(4)
1979# CHECK: mr 2, 3                         # encoding: [0x7c,0x62,0x1b,0x78]
1980         mr 2, 3
1981# CHECK: or. 2, 3, 3                     # encoding: [0x7c,0x62,0x1b,0x79]
1982         mr. 2, 3
1983# CHECK: nor 2, 3, 3                     # encoding: [0x7c,0x62,0x18,0xf8]
1984         not 2, 3
1985# CHECK: nor. 2, 3, 3                    # encoding: [0x7c,0x62,0x18,0xf9]
1986         not. 2, 3
1987
1988