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