blob: 694f8149bcd8524c755a36de9c921ecf1fde2206 [file] [log] [blame]
Ulrich Weigandd8394902013-05-03 19:50:27 +00001
2# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck %s
3
4# FIXME: Condition register bit symbols
5
6# Branch mnemonics
7
8# CHECK: blr # encoding: [0x4e,0x80,0x00,0x20]
9 blr
10# CHECK: bctr # encoding: [0x4e,0x80,0x04,0x20]
11 bctr
Ulrich Weigand1847bb82013-06-24 11:01:55 +000012# CHECK: blrl # encoding: [0x4e,0x80,0x00,0x21]
13 blrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000014# CHECK: bctrl # encoding: [0x4e,0x80,0x04,0x21]
15 bctrl
16
Ulrich Weigandfedd5a72013-06-24 12:49:20 +000017# CHECK: bc 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA00]
18# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
19 bt 2, target
20# CHECK: bca 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA10]
21# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
22 bta 2, target
23# CHECK: bclr 12, 2, 0 # encoding: [0x4d,0x82,0x00,0x20]
24 btlr 2
25# CHECK: bcctr 12, 2, 0 # encoding: [0x4d,0x82,0x04,0x20]
26 btctr 2
27# CHECK: bcl 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA01]
28# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
29 btl 2, target
30# CHECK: bcla 12, 2, target # encoding: [0x41,0x82,A,0bAAAAAA11]
31# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
32 btla 2, target
33# CHECK: bclrl 12, 2, 0 # encoding: [0x4d,0x82,0x00,0x21]
34 btlrl 2
35# CHECK: bcctrl 12, 2, 0 # encoding: [0x4d,0x82,0x04,0x21]
36 btctrl 2
Ulrich Weigandd8394902013-05-03 19:50:27 +000037
Ulrich Weigand86247b62013-06-24 16:52:04 +000038# CHECK: bc 15, 2, target # encoding: [0x41,0xe2,A,0bAAAAAA00]
39# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
40 bt+ 2, target
41# CHECK: bca 15, 2, target # encoding: [0x41,0xe2,A,0bAAAAAA10]
42# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
43 bta+ 2, target
44# CHECK: bclr 15, 2, 0 # encoding: [0x4d,0xe2,0x00,0x20]
45 btlr+ 2
46# CHECK: bcctr 15, 2, 0 # encoding: [0x4d,0xe2,0x04,0x20]
47 btctr+ 2
48# CHECK: bcl 15, 2, target # encoding: [0x41,0xe2,A,0bAAAAAA01]
49# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
50 btl+ 2, target
51# CHECK: bcla 15, 2, target # encoding: [0x41,0xe2,A,0bAAAAAA11]
52# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
53 btla+ 2, target
54# CHECK: bclrl 15, 2, 0 # encoding: [0x4d,0xe2,0x00,0x21]
55 btlrl+ 2
56# CHECK: bcctrl 15, 2, 0 # encoding: [0x4d,0xe2,0x04,0x21]
57 btctrl+ 2
58
59# CHECK: bc 14, 2, target # encoding: [0x41,0xc2,A,0bAAAAAA00]
60# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
61 bt- 2, target
62# CHECK: bca 14, 2, target # encoding: [0x41,0xc2,A,0bAAAAAA10]
63# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
64 bta- 2, target
65# CHECK: bclr 14, 2, 0 # encoding: [0x4d,0xc2,0x00,0x20]
66 btlr- 2
67# CHECK: bcctr 14, 2, 0 # encoding: [0x4d,0xc2,0x04,0x20]
68 btctr- 2
69# CHECK: bcl 14, 2, target # encoding: [0x41,0xc2,A,0bAAAAAA01]
70# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
71 btl- 2, target
72# CHECK: bcla 14, 2, target # encoding: [0x41,0xc2,A,0bAAAAAA11]
73# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
74 btla- 2, target
75# CHECK: bclrl 14, 2, 0 # encoding: [0x4d,0xc2,0x00,0x21]
76 btlrl- 2
77# CHECK: bcctrl 14, 2, 0 # encoding: [0x4d,0xc2,0x04,0x21]
78 btctrl- 2
79
Ulrich Weigandfedd5a72013-06-24 12:49:20 +000080# CHECK: bc 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA00]
81# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
82 bf 2, target
83# CHECK: bca 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA10]
84# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
85 bfa 2, target
86# CHECK: bclr 4, 2, 0 # encoding: [0x4c,0x82,0x00,0x20]
87 bflr 2
88# CHECK: bcctr 4, 2, 0 # encoding: [0x4c,0x82,0x04,0x20]
89 bfctr 2
90# CHECK: bcl 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA01]
91# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
92 bfl 2, target
93# CHECK: bcla 4, 2, target # encoding: [0x40,0x82,A,0bAAAAAA11]
94# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
95 bfla 2, target
96# CHECK: bclrl 4, 2, 0 # encoding: [0x4c,0x82,0x00,0x21]
97 bflrl 2
98# CHECK: bcctrl 4, 2, 0 # encoding: [0x4c,0x82,0x04,0x21]
99 bfctrl 2
Ulrich Weigandd8394902013-05-03 19:50:27 +0000100
Ulrich Weigand86247b62013-06-24 16:52:04 +0000101# CHECK: bc 7, 2, target # encoding: [0x40,0xe2,A,0bAAAAAA00]
102# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
103 bf+ 2, target
104# CHECK: bca 7, 2, target # encoding: [0x40,0xe2,A,0bAAAAAA10]
105# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
106 bfa+ 2, target
107# CHECK: bclr 7, 2, 0 # encoding: [0x4c,0xe2,0x00,0x20]
108 bflr+ 2
109# CHECK: bcctr 7, 2, 0 # encoding: [0x4c,0xe2,0x04,0x20]
110 bfctr+ 2
111# CHECK: bcl 7, 2, target # encoding: [0x40,0xe2,A,0bAAAAAA01]
112# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
113 bfl+ 2, target
114# CHECK: bcla 7, 2, target # encoding: [0x40,0xe2,A,0bAAAAAA11]
115# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
116 bfla+ 2, target
117# CHECK: bclrl 7, 2, 0 # encoding: [0x4c,0xe2,0x00,0x21]
118 bflrl+ 2
119# CHECK: bcctrl 7, 2, 0 # encoding: [0x4c,0xe2,0x04,0x21]
120 bfctrl+ 2
121
122# CHECK: bc 6, 2, target # encoding: [0x40,0xc2,A,0bAAAAAA00]
123# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
124 bf- 2, target
125# CHECK: bca 6, 2, target # encoding: [0x40,0xc2,A,0bAAAAAA10]
126# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
127 bfa- 2, target
128# CHECK: bclr 6, 2, 0 # encoding: [0x4c,0xc2,0x00,0x20]
129 bflr- 2
130# CHECK: bcctr 6, 2, 0 # encoding: [0x4c,0xc2,0x04,0x20]
131 bfctr- 2
132# CHECK: bcl 6, 2, target # encoding: [0x40,0xc2,A,0bAAAAAA01]
133# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
134 bfl- 2, target
135# CHECK: bcla 6, 2, target # encoding: [0x40,0xc2,A,0bAAAAAA11]
136# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
137 bfla- 2, target
138# CHECK: bclrl 6, 2, 0 # encoding: [0x4c,0xc2,0x00,0x21]
139 bflrl- 2
140# CHECK: bcctrl 6, 2, 0 # encoding: [0x4c,0xc2,0x04,0x21]
141 bfctrl- 2
142
Ulrich Weigandd8394902013-05-03 19:50:27 +0000143# CHECK: bdnz target # encoding: [0x42,0x00,A,0bAAAAAA00]
144# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
145 bdnz target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000146# CHECK: bdnza target # encoding: [0x42,0x00,A,0bAAAAAA10]
147# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
148 bdnza target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000149# CHECK: bdnzlr # encoding: [0x4e,0x00,0x00,0x20]
150 bdnzlr
Ulrich Weigand5b9d5912013-06-24 11:02:38 +0000151# CHECK: bdnzl target # encoding: [0x42,0x00,A,0bAAAAAA01]
152# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
153 bdnzl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000154# CHECK: bdnzla target # encoding: [0x42,0x00,A,0bAAAAAA11]
155# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
156 bdnzla target
Ulrich Weigand5b9d5912013-06-24 11:02:38 +0000157# CHECK: bdnzlrl # encoding: [0x4e,0x00,0x00,0x21]
158 bdnzlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000159
Ulrich Weigand86247b62013-06-24 16:52:04 +0000160# CHECK: bdnz+ target # encoding: [0x43,0x20,A,0bAAAAAA00]
161# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
162 bdnz+ target
163# CHECK: bdnza+ target # encoding: [0x43,0x20,A,0bAAAAAA10]
164# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
165 bdnza+ target
166# CHECK: bdnzlr+ # encoding: [0x4f,0x20,0x00,0x20]
167 bdnzlr+
168# CHECK: bdnzl+ target # encoding: [0x43,0x20,A,0bAAAAAA01]
169# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
170 bdnzl+ target
171# CHECK: bdnzla+ target # encoding: [0x43,0x20,A,0bAAAAAA11]
172# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
173 bdnzla+ target
174# CHECK: bdnzlrl+ # encoding: [0x4f,0x20,0x00,0x21]
175 bdnzlrl+
176
177# CHECK: bdnz- target # encoding: [0x43,0x00,A,0bAAAAAA00]
178# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
179 bdnz- target
180# CHECK: bdnza- target # encoding: [0x43,0x00,A,0bAAAAAA10]
181# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
182 bdnza- target
183# CHECK: bdnzlr- # encoding: [0x4f,0x00,0x00,0x20]
184 bdnzlr-
185# CHECK: bdnzl- target # encoding: [0x43,0x00,A,0bAAAAAA01]
186# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
187 bdnzl- target
188# CHECK: bdnzla- target # encoding: [0x43,0x00,A,0bAAAAAA11]
189# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
190 bdnzla- target
191# CHECK: bdnzlrl- # encoding: [0x4f,0x00,0x00,0x21]
192 bdnzlrl-
193
Ulrich Weigandfedd5a72013-06-24 12:49:20 +0000194# CHECK: bc 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA00]
195# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
196 bdnzt 2, target
197# CHECK: bca 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA10]
198# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
199 bdnzta 2, target
200# CHECK: bclr 8, 2, 0 # encoding: [0x4d,0x02,0x00,0x20]
201 bdnztlr 2
202# CHECK: bcl 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA01]
203# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
204 bdnztl 2, target
205# CHECK: bcla 8, 2, target # encoding: [0x41,0x02,A,0bAAAAAA11]
206# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
207 bdnztla 2, target
208# CHECK: bclrl 8, 2, 0 # encoding: [0x4d,0x02,0x00,0x21]
209 bdnztlrl 2
210
211# CHECK: bc 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA00]
212# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
213 bdnzf 2, target
214# CHECK: bca 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA10]
215# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
216 bdnzfa 2, target
217# CHECK: bclr 0, 2, 0 # encoding: [0x4c,0x02,0x00,0x20]
218 bdnzflr 2
219# CHECK: bcl 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA01]
220# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
221 bdnzfl 2, target
222# CHECK: bcla 0, 2, target # encoding: [0x40,0x02,A,0bAAAAAA11]
223# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
224 bdnzfla 2, target
225# CHECK: bclrl 0, 2, 0 # encoding: [0x4c,0x02,0x00,0x21]
226 bdnzflrl 2
Ulrich Weigandd8394902013-05-03 19:50:27 +0000227
228# CHECK: bdz target # encoding: [0x42,0x40,A,0bAAAAAA00]
229# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
230 bdz target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000231# CHECK: bdza target # encoding: [0x42,0x40,A,0bAAAAAA10]
232# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
233 bdza target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000234# CHECK: bdzlr # encoding: [0x4e,0x40,0x00,0x20]
235 bdzlr
Ulrich Weigand5b9d5912013-06-24 11:02:38 +0000236# CHECK: bdzl target # encoding: [0x42,0x40,A,0bAAAAAA01]
237# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
238 bdzl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000239# CHECK: bdzla target # encoding: [0x42,0x40,A,0bAAAAAA11]
240# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
241 bdzla target
Ulrich Weigand5b9d5912013-06-24 11:02:38 +0000242# CHECK: bdzlrl # encoding: [0x4e,0x40,0x00,0x21]
243 bdzlrl
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000244
Ulrich Weigand86247b62013-06-24 16:52:04 +0000245# CHECK: bdz+ target # encoding: [0x43,0x60,A,0bAAAAAA00]
246# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
247 bdz+ target
248# CHECK: bdza+ target # encoding: [0x43,0x60,A,0bAAAAAA10]
249# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
250 bdza+ target
251# CHECK: bdzlr+ # encoding: [0x4f,0x60,0x00,0x20]
252 bdzlr+
253# CHECK: bdzl+ target # encoding: [0x43,0x60,A,0bAAAAAA01]
254# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
255 bdzl+ target
256# CHECK: bdzla+ target # encoding: [0x43,0x60,A,0bAAAAAA11]
257# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
258 bdzla+ target
259# CHECK: bdzlrl+ # encoding: [0x4f,0x60,0x00,0x21]
260 bdzlrl+
261
262# CHECK: bdz- target # encoding: [0x43,0x40,A,0bAAAAAA00]
263# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
264 bdz- target
265# CHECK: bdza- target # encoding: [0x43,0x40,A,0bAAAAAA10]
266# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
267 bdza- target
268# CHECK: bdzlr- # encoding: [0x4f,0x40,0x00,0x20]
269 bdzlr-
270# CHECK: bdzl- target # encoding: [0x43,0x40,A,0bAAAAAA01]
271# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
272 bdzl- target
273# CHECK: bdzla- target # encoding: [0x43,0x40,A,0bAAAAAA11]
274# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
275 bdzla- target
276# CHECK: bdzlrl- # encoding: [0x4f,0x40,0x00,0x21]
277 bdzlrl-
278
Ulrich Weigandfedd5a72013-06-24 12:49:20 +0000279# CHECK: bc 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA00]
280# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
281 bdzt 2, target
282# CHECK: bca 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA10]
283# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
284 bdzta 2, target
285# CHECK: bclr 10, 2, 0 # encoding: [0x4d,0x42,0x00,0x20]
286 bdztlr 2
287# CHECK: bcl 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA01]
288# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
289 bdztl 2, target
290# CHECK: bcla 10, 2, target # encoding: [0x41,0x42,A,0bAAAAAA11]
291# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
292 bdztla 2, target
293# CHECK: bclrl 10, 2, 0 # encoding: [0x4d,0x42,0x00,0x21]
294 bdztlrl 2
295
296# CHECK: bc 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA00]
297# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
298 bdzf 2, target
299# CHECK: bca 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA10]
300# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
301 bdzfa 2, target
302# CHECK: bclr 2, 2, 0 # encoding: [0x4c,0x42,0x00,0x20]
303 bdzflr 2
304# CHECK: bcl 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA01]
305# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
306 bdzfl 2, target
307# CHECK: bcla 2, 2, target # encoding: [0x40,0x42,A,0bAAAAAA11]
308# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
309 bdzfla 2, target
310# CHECK: bclrl 2, 2, 0 # encoding: [0x4c,0x42,0x00,0x21]
311 bdzflrl 2
Ulrich Weigandd8394902013-05-03 19:50:27 +0000312
313# CHECK: blt 2, target # encoding: [0x41,0x88,A,0bAAAAAA00]
314# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
315 blt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000316# CHECK: blt 0, target # encoding: [0x41,0x80,A,0bAAAAAA00]
317# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
318 blt target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000319# CHECK: blta 2, target # encoding: [0x41,0x88,A,0bAAAAAA10]
320# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
321 blta 2, target
322# CHECK: blta 0, target # encoding: [0x41,0x80,A,0bAAAAAA10]
323# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
324 blta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000325# CHECK: bltlr 2 # encoding: [0x4d,0x88,0x00,0x20]
326 bltlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000327# CHECK: bltlr 0 # encoding: [0x4d,0x80,0x00,0x20]
328 bltlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000329# CHECK: bltctr 2 # encoding: [0x4d,0x88,0x04,0x20]
330 bltctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000331# CHECK: bltctr 0 # encoding: [0x4d,0x80,0x04,0x20]
332 bltctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000333# CHECK: bltl 2, target # encoding: [0x41,0x88,A,0bAAAAAA01]
334# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
335 bltl 2, target
336# CHECK: bltl 0, target # encoding: [0x41,0x80,A,0bAAAAAA01]
337# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
338 bltl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000339# CHECK: bltla 2, target # encoding: [0x41,0x88,A,0bAAAAAA11]
340# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
341 bltla 2, target
342# CHECK: bltla 0, target # encoding: [0x41,0x80,A,0bAAAAAA11]
343# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
344 bltla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000345# CHECK: bltlrl 2 # encoding: [0x4d,0x88,0x00,0x21]
346 bltlrl 2
347# CHECK: bltlrl 0 # encoding: [0x4d,0x80,0x00,0x21]
348 bltlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000349# CHECK: bltctrl 2 # encoding: [0x4d,0x88,0x04,0x21]
350 bltctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000351# CHECK: bltctrl 0 # encoding: [0x4d,0x80,0x04,0x21]
352 bltctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000353
Ulrich Weigand86247b62013-06-24 16:52:04 +0000354# CHECK: blt+ 2, target # encoding: [0x41,0xe8,A,0bAAAAAA00]
355# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
356 blt+ 2, target
357# CHECK: blt+ 0, target # encoding: [0x41,0xe0,A,0bAAAAAA00]
358# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
359 blt+ target
360# CHECK: blta+ 2, target # encoding: [0x41,0xe8,A,0bAAAAAA10]
361# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
362 blta+ 2, target
363# CHECK: blta+ 0, target # encoding: [0x41,0xe0,A,0bAAAAAA10]
364# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
365 blta+ target
366# CHECK: bltlr+ 2 # encoding: [0x4d,0xe8,0x00,0x20]
367 bltlr+ 2
368# CHECK: bltlr+ 0 # encoding: [0x4d,0xe0,0x00,0x20]
369 bltlr+
370# CHECK: bltctr+ 2 # encoding: [0x4d,0xe8,0x04,0x20]
371 bltctr+ 2
372# CHECK: bltctr+ 0 # encoding: [0x4d,0xe0,0x04,0x20]
373 bltctr+
374# CHECK: bltl+ 2, target # encoding: [0x41,0xe8,A,0bAAAAAA01]
375# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
376 bltl+ 2, target
377# CHECK: bltl+ 0, target # encoding: [0x41,0xe0,A,0bAAAAAA01]
378# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
379 bltl+ target
380# CHECK: bltla+ 2, target # encoding: [0x41,0xe8,A,0bAAAAAA11]
381# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
382 bltla+ 2, target
383# CHECK: bltla+ 0, target # encoding: [0x41,0xe0,A,0bAAAAAA11]
384# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
385 bltla+ target
386# CHECK: bltlrl+ 2 # encoding: [0x4d,0xe8,0x00,0x21]
387 bltlrl+ 2
388# CHECK: bltlrl+ 0 # encoding: [0x4d,0xe0,0x00,0x21]
389 bltlrl+
390# CHECK: bltctrl+ 2 # encoding: [0x4d,0xe8,0x04,0x21]
391 bltctrl+ 2
392# CHECK: bltctrl+ 0 # encoding: [0x4d,0xe0,0x04,0x21]
393 bltctrl+
394
395# CHECK: blt- 2, target # encoding: [0x41,0xc8,A,0bAAAAAA00]
396# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
397 blt- 2, target
398# CHECK: blt- 0, target # encoding: [0x41,0xc0,A,0bAAAAAA00]
399# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
400 blt- target
401# CHECK: blta- 2, target # encoding: [0x41,0xc8,A,0bAAAAAA10]
402# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
403 blta- 2, target
404# CHECK: blta- 0, target # encoding: [0x41,0xc0,A,0bAAAAAA10]
405# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
406 blta- target
407# CHECK: bltlr- 2 # encoding: [0x4d,0xc8,0x00,0x20]
408 bltlr- 2
409# CHECK: bltlr- 0 # encoding: [0x4d,0xc0,0x00,0x20]
410 bltlr-
411# CHECK: bltctr- 2 # encoding: [0x4d,0xc8,0x04,0x20]
412 bltctr- 2
413# CHECK: bltctr- 0 # encoding: [0x4d,0xc0,0x04,0x20]
414 bltctr-
415# CHECK: bltl- 2, target # encoding: [0x41,0xc8,A,0bAAAAAA01]
416# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
417 bltl- 2, target
418# CHECK: bltl- 0, target # encoding: [0x41,0xc0,A,0bAAAAAA01]
419# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
420 bltl- target
421# CHECK: bltla- 2, target # encoding: [0x41,0xc8,A,0bAAAAAA11]
422# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
423 bltla- 2, target
424# CHECK: bltla- 0, target # encoding: [0x41,0xc0,A,0bAAAAAA11]
425# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
426 bltla- target
427# CHECK: bltlrl- 2 # encoding: [0x4d,0xc8,0x00,0x21]
428 bltlrl- 2
429# CHECK: bltlrl- 0 # encoding: [0x4d,0xc0,0x00,0x21]
430 bltlrl-
431# CHECK: bltctrl- 2 # encoding: [0x4d,0xc8,0x04,0x21]
432 bltctrl- 2
433# CHECK: bltctrl- 0 # encoding: [0x4d,0xc0,0x04,0x21]
434 bltctrl-
435
Ulrich Weigandd8394902013-05-03 19:50:27 +0000436# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
437# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
438 ble 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000439# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
440# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
441 ble target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000442# CHECK: blea 2, target # encoding: [0x40,0x89,A,0bAAAAAA10]
443# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
444 blea 2, target
445# CHECK: blea 0, target # encoding: [0x40,0x81,A,0bAAAAAA10]
446# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
447 blea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000448# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
449 blelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000450# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
451 blelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000452# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
453 blectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000454# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
455 blectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000456# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
457# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
458 blel 2, target
459# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
460# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
461 blel target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000462# CHECK: blela 2, target # encoding: [0x40,0x89,A,0bAAAAAA11]
463# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
464 blela 2, target
465# CHECK: blela 0, target # encoding: [0x40,0x81,A,0bAAAAAA11]
466# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
467 blela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000468# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
469 blelrl 2
470# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
471 blelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000472# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
473 blectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000474# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
475 blectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000476
Ulrich Weigand86247b62013-06-24 16:52:04 +0000477# CHECK: ble+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA00]
478# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
479 ble+ 2, target
480# CHECK: ble+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA00]
481# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
482 ble+ target
483# CHECK: blea+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA10]
484# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
485 blea+ 2, target
486# CHECK: blea+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA10]
487# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
488 blea+ target
489# CHECK: blelr+ 2 # encoding: [0x4c,0xe9,0x00,0x20]
490 blelr+ 2
491# CHECK: blelr+ 0 # encoding: [0x4c,0xe1,0x00,0x20]
492 blelr+
493# CHECK: blectr+ 2 # encoding: [0x4c,0xe9,0x04,0x20]
494 blectr+ 2
495# CHECK: blectr+ 0 # encoding: [0x4c,0xe1,0x04,0x20]
496 blectr+
497# CHECK: blel+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA01]
498# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
499 blel+ 2, target
500# CHECK: blel+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA01]
501# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
502 blel+ target
503# CHECK: blela+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA11]
504# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
505 blela+ 2, target
506# CHECK: blela+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA11]
507# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
508 blela+ target
509# CHECK: blelrl+ 2 # encoding: [0x4c,0xe9,0x00,0x21]
510 blelrl+ 2
511# CHECK: blelrl+ 0 # encoding: [0x4c,0xe1,0x00,0x21]
512 blelrl+
513# CHECK: blectrl+ 2 # encoding: [0x4c,0xe9,0x04,0x21]
514 blectrl+ 2
515# CHECK: blectrl+ 0 # encoding: [0x4c,0xe1,0x04,0x21]
516 blectrl+
517
518# CHECK: ble- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA00]
519# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
520 ble- 2, target
521# CHECK: ble- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA00]
522# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
523 ble- target
524# CHECK: blea- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA10]
525# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
526 blea- 2, target
527# CHECK: blea- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA10]
528# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
529 blea- target
530# CHECK: blelr- 2 # encoding: [0x4c,0xc9,0x00,0x20]
531 blelr- 2
532# CHECK: blelr- 0 # encoding: [0x4c,0xc1,0x00,0x20]
533 blelr-
534# CHECK: blectr- 2 # encoding: [0x4c,0xc9,0x04,0x20]
535 blectr- 2
536# CHECK: blectr- 0 # encoding: [0x4c,0xc1,0x04,0x20]
537 blectr-
538# CHECK: blel- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA01]
539# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
540 blel- 2, target
541# CHECK: blel- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA01]
542# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
543 blel- target
544# CHECK: blela- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA11]
545# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
546 blela- 2, target
547# CHECK: blela- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA11]
548# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
549 blela- target
550# CHECK: blelrl- 2 # encoding: [0x4c,0xc9,0x00,0x21]
551 blelrl- 2
552# CHECK: blelrl- 0 # encoding: [0x4c,0xc1,0x00,0x21]
553 blelrl-
554# CHECK: blectrl- 2 # encoding: [0x4c,0xc9,0x04,0x21]
555 blectrl- 2
556# CHECK: blectrl- 0 # encoding: [0x4c,0xc1,0x04,0x21]
557 blectrl-
558
Ulrich Weigandd8394902013-05-03 19:50:27 +0000559# CHECK: beq 2, target # encoding: [0x41,0x8a,A,0bAAAAAA00]
560# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
561 beq 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000562# CHECK: beq 0, target # encoding: [0x41,0x82,A,0bAAAAAA00]
563# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
564 beq target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000565# CHECK: beqa 2, target # encoding: [0x41,0x8a,A,0bAAAAAA10]
566# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
567 beqa 2, target
568# CHECK: beqa 0, target # encoding: [0x41,0x82,A,0bAAAAAA10]
569# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
570 beqa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000571# CHECK: beqlr 2 # encoding: [0x4d,0x8a,0x00,0x20]
572 beqlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000573# CHECK: beqlr 0 # encoding: [0x4d,0x82,0x00,0x20]
574 beqlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000575# CHECK: beqctr 2 # encoding: [0x4d,0x8a,0x04,0x20]
576 beqctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000577# CHECK: beqctr 0 # encoding: [0x4d,0x82,0x04,0x20]
578 beqctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000579# CHECK: beql 2, target # encoding: [0x41,0x8a,A,0bAAAAAA01]
580# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
581 beql 2, target
582# CHECK: beql 0, target # encoding: [0x41,0x82,A,0bAAAAAA01]
583# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
584 beql target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000585# CHECK: beqla 2, target # encoding: [0x41,0x8a,A,0bAAAAAA11]
586# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
587 beqla 2, target
588# CHECK: beqla 0, target # encoding: [0x41,0x82,A,0bAAAAAA11]
589# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
590 beqla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000591# CHECK: beqlrl 2 # encoding: [0x4d,0x8a,0x00,0x21]
592 beqlrl 2
593# CHECK: beqlrl 0 # encoding: [0x4d,0x82,0x00,0x21]
594 beqlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000595# CHECK: beqctrl 2 # encoding: [0x4d,0x8a,0x04,0x21]
596 beqctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000597# CHECK: beqctrl 0 # encoding: [0x4d,0x82,0x04,0x21]
598 beqctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000599
Ulrich Weigand86247b62013-06-24 16:52:04 +0000600# CHECK: beq+ 2, target # encoding: [0x41,0xea,A,0bAAAAAA00]
601# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
602 beq+ 2, target
603# CHECK: beq+ 0, target # encoding: [0x41,0xe2,A,0bAAAAAA00]
604# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
605 beq+ target
606# CHECK: beqa+ 2, target # encoding: [0x41,0xea,A,0bAAAAAA10]
607# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
608 beqa+ 2, target
609# CHECK: beqa+ 0, target # encoding: [0x41,0xe2,A,0bAAAAAA10]
610# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
611 beqa+ target
612# CHECK: beqlr+ 2 # encoding: [0x4d,0xea,0x00,0x20]
613 beqlr+ 2
614# CHECK: beqlr+ 0 # encoding: [0x4d,0xe2,0x00,0x20]
615 beqlr+
616# CHECK: beqctr+ 2 # encoding: [0x4d,0xea,0x04,0x20]
617 beqctr+ 2
618# CHECK: beqctr+ 0 # encoding: [0x4d,0xe2,0x04,0x20]
619 beqctr+
620# CHECK: beql+ 2, target # encoding: [0x41,0xea,A,0bAAAAAA01]
621# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
622 beql+ 2, target
623# CHECK: beql+ 0, target # encoding: [0x41,0xe2,A,0bAAAAAA01]
624# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
625 beql+ target
626# CHECK: beqla+ 2, target # encoding: [0x41,0xea,A,0bAAAAAA11]
627# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
628 beqla+ 2, target
629# CHECK: beqla+ 0, target # encoding: [0x41,0xe2,A,0bAAAAAA11]
630# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
631 beqla+ target
632# CHECK: beqlrl+ 2 # encoding: [0x4d,0xea,0x00,0x21]
633 beqlrl+ 2
634# CHECK: beqlrl+ 0 # encoding: [0x4d,0xe2,0x00,0x21]
635 beqlrl+
636# CHECK: beqctrl+ 2 # encoding: [0x4d,0xea,0x04,0x21]
637 beqctrl+ 2
638# CHECK: beqctrl+ 0 # encoding: [0x4d,0xe2,0x04,0x21]
639 beqctrl+
640
641# CHECK: beq- 2, target # encoding: [0x41,0xca,A,0bAAAAAA00]
642# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
643 beq- 2, target
644# CHECK: beq- 0, target # encoding: [0x41,0xc2,A,0bAAAAAA00]
645# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
646 beq- target
647# CHECK: beqa- 2, target # encoding: [0x41,0xca,A,0bAAAAAA10]
648# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
649 beqa- 2, target
650# CHECK: beqa- 0, target # encoding: [0x41,0xc2,A,0bAAAAAA10]
651# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
652 beqa- target
653# CHECK: beqlr- 2 # encoding: [0x4d,0xca,0x00,0x20]
654 beqlr- 2
655# CHECK: beqlr- 0 # encoding: [0x4d,0xc2,0x00,0x20]
656 beqlr-
657# CHECK: beqctr- 2 # encoding: [0x4d,0xca,0x04,0x20]
658 beqctr- 2
659# CHECK: beqctr- 0 # encoding: [0x4d,0xc2,0x04,0x20]
660 beqctr-
661# CHECK: beql- 2, target # encoding: [0x41,0xca,A,0bAAAAAA01]
662# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
663 beql- 2, target
664# CHECK: beql- 0, target # encoding: [0x41,0xc2,A,0bAAAAAA01]
665# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
666 beql- target
667# CHECK: beqla- 2, target # encoding: [0x41,0xca,A,0bAAAAAA11]
668# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
669 beqla- 2, target
670# CHECK: beqla- 0, target # encoding: [0x41,0xc2,A,0bAAAAAA11]
671# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
672 beqla- target
673# CHECK: beqlrl- 2 # encoding: [0x4d,0xca,0x00,0x21]
674 beqlrl- 2
675# CHECK: beqlrl- 0 # encoding: [0x4d,0xc2,0x00,0x21]
676 beqlrl-
677# CHECK: beqctrl- 2 # encoding: [0x4d,0xca,0x04,0x21]
678 beqctrl- 2
679# CHECK: beqctrl- 0 # encoding: [0x4d,0xc2,0x04,0x21]
680 beqctrl-
681
Ulrich Weigandd8394902013-05-03 19:50:27 +0000682# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
683# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
684 bge 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000685# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
686# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
687 bge target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000688# CHECK: bgea 2, target # encoding: [0x40,0x88,A,0bAAAAAA10]
689# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
690 bgea 2, target
691# CHECK: bgea 0, target # encoding: [0x40,0x80,A,0bAAAAAA10]
692# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
693 bgea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000694# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
695 bgelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000696# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
697 bgelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000698# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
699 bgectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000700# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
701 bgectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000702# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
703# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
704 bgel 2, target
705# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
706# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
707 bgel target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000708# CHECK: bgela 2, target # encoding: [0x40,0x88,A,0bAAAAAA11]
709# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
710 bgela 2, target
711# CHECK: bgela 0, target # encoding: [0x40,0x80,A,0bAAAAAA11]
712# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
713 bgela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000714# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
715 bgelrl 2
716# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
717 bgelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000718# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
719 bgectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000720# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
721 bgectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000722
Ulrich Weigand86247b62013-06-24 16:52:04 +0000723# CHECK: bge+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA00]
724# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
725 bge+ 2, target
726# CHECK: bge+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA00]
727# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
728 bge+ target
729# CHECK: bgea+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA10]
730# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
731 bgea+ 2, target
732# CHECK: bgea+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA10]
733# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
734 bgea+ target
735# CHECK: bgelr+ 2 # encoding: [0x4c,0xe8,0x00,0x20]
736 bgelr+ 2
737# CHECK: bgelr+ 0 # encoding: [0x4c,0xe0,0x00,0x20]
738 bgelr+
739# CHECK: bgectr+ 2 # encoding: [0x4c,0xe8,0x04,0x20]
740 bgectr+ 2
741# CHECK: bgectr+ 0 # encoding: [0x4c,0xe0,0x04,0x20]
742 bgectr+
743# CHECK: bgel+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA01]
744# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
745 bgel+ 2, target
746# CHECK: bgel+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA01]
747# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
748 bgel+ target
749# CHECK: bgela+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA11]
750# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
751 bgela+ 2, target
752# CHECK: bgela+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA11]
753# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
754 bgela+ target
755# CHECK: bgelrl+ 2 # encoding: [0x4c,0xe8,0x00,0x21]
756 bgelrl+ 2
757# CHECK: bgelrl+ 0 # encoding: [0x4c,0xe0,0x00,0x21]
758 bgelrl+
759# CHECK: bgectrl+ 2 # encoding: [0x4c,0xe8,0x04,0x21]
760 bgectrl+ 2
761# CHECK: bgectrl+ 0 # encoding: [0x4c,0xe0,0x04,0x21]
762 bgectrl+
763
764# CHECK: bge- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA00]
765# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
766 bge- 2, target
767# CHECK: bge- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA00]
768# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
769 bge- target
770# CHECK: bgea- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA10]
771# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
772 bgea- 2, target
773# CHECK: bgea- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA10]
774# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
775 bgea- target
776# CHECK: bgelr- 2 # encoding: [0x4c,0xc8,0x00,0x20]
777 bgelr- 2
778# CHECK: bgelr- 0 # encoding: [0x4c,0xc0,0x00,0x20]
779 bgelr-
780# CHECK: bgectr- 2 # encoding: [0x4c,0xc8,0x04,0x20]
781 bgectr- 2
782# CHECK: bgectr- 0 # encoding: [0x4c,0xc0,0x04,0x20]
783 bgectr-
784# CHECK: bgel- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA01]
785# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
786 bgel- 2, target
787# CHECK: bgel- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA01]
788# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
789 bgel- target
790# CHECK: bgela- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA11]
791# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
792 bgela- 2, target
793# CHECK: bgela- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA11]
794# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
795 bgela- target
796# CHECK: bgelrl- 2 # encoding: [0x4c,0xc8,0x00,0x21]
797 bgelrl- 2
798# CHECK: bgelrl- 0 # encoding: [0x4c,0xc0,0x00,0x21]
799 bgelrl-
800# CHECK: bgectrl- 2 # encoding: [0x4c,0xc8,0x04,0x21]
801 bgectrl- 2
802# CHECK: bgectrl- 0 # encoding: [0x4c,0xc0,0x04,0x21]
803 bgectrl-
804
Ulrich Weigandd8394902013-05-03 19:50:27 +0000805# CHECK: bgt 2, target # encoding: [0x41,0x89,A,0bAAAAAA00]
806# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
807 bgt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000808# CHECK: bgt 0, target # encoding: [0x41,0x81,A,0bAAAAAA00]
809# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
810 bgt target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000811# CHECK: bgta 2, target # encoding: [0x41,0x89,A,0bAAAAAA10]
812# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
813 bgta 2, target
814# CHECK: bgta 0, target # encoding: [0x41,0x81,A,0bAAAAAA10]
815# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
816 bgta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000817# CHECK: bgtlr 2 # encoding: [0x4d,0x89,0x00,0x20]
818 bgtlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000819# CHECK: bgtlr 0 # encoding: [0x4d,0x81,0x00,0x20]
820 bgtlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000821# CHECK: bgtctr 2 # encoding: [0x4d,0x89,0x04,0x20]
822 bgtctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000823# CHECK: bgtctr 0 # encoding: [0x4d,0x81,0x04,0x20]
824 bgtctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000825# CHECK: bgtl 2, target # encoding: [0x41,0x89,A,0bAAAAAA01]
826# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
827 bgtl 2, target
828# CHECK: bgtl 0, target # encoding: [0x41,0x81,A,0bAAAAAA01]
829# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
830 bgtl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000831# CHECK: bgtla 2, target # encoding: [0x41,0x89,A,0bAAAAAA11]
832# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
833 bgtla 2, target
834# CHECK: bgtla 0, target # encoding: [0x41,0x81,A,0bAAAAAA11]
835# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
836 bgtla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000837# CHECK: bgtlrl 2 # encoding: [0x4d,0x89,0x00,0x21]
838 bgtlrl 2
839# CHECK: bgtlrl 0 # encoding: [0x4d,0x81,0x00,0x21]
840 bgtlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000841# CHECK: bgtctrl 2 # encoding: [0x4d,0x89,0x04,0x21]
842 bgtctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000843# CHECK: bgtctrl 0 # encoding: [0x4d,0x81,0x04,0x21]
844 bgtctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000845
Ulrich Weigand86247b62013-06-24 16:52:04 +0000846# CHECK: bgt+ 2, target # encoding: [0x41,0xe9,A,0bAAAAAA00]
847# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
848 bgt+ 2, target
849# CHECK: bgt+ 0, target # encoding: [0x41,0xe1,A,0bAAAAAA00]
850# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
851 bgt+ target
852# CHECK: bgta+ 2, target # encoding: [0x41,0xe9,A,0bAAAAAA10]
853# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
854 bgta+ 2, target
855# CHECK: bgta+ 0, target # encoding: [0x41,0xe1,A,0bAAAAAA10]
856# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
857 bgta+ target
858# CHECK: bgtlr+ 2 # encoding: [0x4d,0xe9,0x00,0x20]
859 bgtlr+ 2
860# CHECK: bgtlr+ 0 # encoding: [0x4d,0xe1,0x00,0x20]
861 bgtlr+
862# CHECK: bgtctr+ 2 # encoding: [0x4d,0xe9,0x04,0x20]
863 bgtctr+ 2
864# CHECK: bgtctr+ 0 # encoding: [0x4d,0xe1,0x04,0x20]
865 bgtctr+
866# CHECK: bgtl+ 2, target # encoding: [0x41,0xe9,A,0bAAAAAA01]
867# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
868 bgtl+ 2, target
869# CHECK: bgtl+ 0, target # encoding: [0x41,0xe1,A,0bAAAAAA01]
870# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
871 bgtl+ target
872# CHECK: bgtla+ 2, target # encoding: [0x41,0xe9,A,0bAAAAAA11]
873# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
874 bgtla+ 2, target
875# CHECK: bgtla+ 0, target # encoding: [0x41,0xe1,A,0bAAAAAA11]
876# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
877 bgtla+ target
878# CHECK: bgtlrl+ 2 # encoding: [0x4d,0xe9,0x00,0x21]
879 bgtlrl+ 2
880# CHECK: bgtlrl+ 0 # encoding: [0x4d,0xe1,0x00,0x21]
881 bgtlrl+
882# CHECK: bgtctrl+ 2 # encoding: [0x4d,0xe9,0x04,0x21]
883 bgtctrl+ 2
884# CHECK: bgtctrl+ 0 # encoding: [0x4d,0xe1,0x04,0x21]
885 bgtctrl+
886
887# CHECK: bgt- 2, target # encoding: [0x41,0xc9,A,0bAAAAAA00]
888# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
889 bgt- 2, target
890# CHECK: bgt- 0, target # encoding: [0x41,0xc1,A,0bAAAAAA00]
891# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
892 bgt- target
893# CHECK: bgta- 2, target # encoding: [0x41,0xc9,A,0bAAAAAA10]
894# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
895 bgta- 2, target
896# CHECK: bgta- 0, target # encoding: [0x41,0xc1,A,0bAAAAAA10]
897# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
898 bgta- target
899# CHECK: bgtlr- 2 # encoding: [0x4d,0xc9,0x00,0x20]
900 bgtlr- 2
901# CHECK: bgtlr- 0 # encoding: [0x4d,0xc1,0x00,0x20]
902 bgtlr-
903# CHECK: bgtctr- 2 # encoding: [0x4d,0xc9,0x04,0x20]
904 bgtctr- 2
905# CHECK: bgtctr- 0 # encoding: [0x4d,0xc1,0x04,0x20]
906 bgtctr-
907# CHECK: bgtl- 2, target # encoding: [0x41,0xc9,A,0bAAAAAA01]
908# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
909 bgtl- 2, target
910# CHECK: bgtl- 0, target # encoding: [0x41,0xc1,A,0bAAAAAA01]
911# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
912 bgtl- target
913# CHECK: bgtla- 2, target # encoding: [0x41,0xc9,A,0bAAAAAA11]
914# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
915 bgtla- 2, target
916# CHECK: bgtla- 0, target # encoding: [0x41,0xc1,A,0bAAAAAA11]
917# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
918 bgtla- target
919# CHECK: bgtlrl- 2 # encoding: [0x4d,0xc9,0x00,0x21]
920 bgtlrl- 2
921# CHECK: bgtlrl- 0 # encoding: [0x4d,0xc1,0x00,0x21]
922 bgtlrl-
923# CHECK: bgtctrl- 2 # encoding: [0x4d,0xc9,0x04,0x21]
924 bgtctrl- 2
925# CHECK: bgtctrl- 0 # encoding: [0x4d,0xc1,0x04,0x21]
926 bgtctrl-
927
Ulrich Weigandd8394902013-05-03 19:50:27 +0000928# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
929# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
930 bnl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000931# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
932# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
933 bnl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000934# CHECK: bgea 2, target # encoding: [0x40,0x88,A,0bAAAAAA10]
935# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
936 bnla 2, target
937# CHECK: bgea 0, target # encoding: [0x40,0x80,A,0bAAAAAA10]
938# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
939 bnla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000940# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
941 bnllr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000942# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
943 bnllr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000944# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
945 bnlctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000946# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
947 bnlctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000948# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
949# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
950 bnll 2, target
951# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
952# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
953 bnll target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +0000954# CHECK: bgela 2, target # encoding: [0x40,0x88,A,0bAAAAAA11]
955# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
956 bnlla 2, target
957# CHECK: bgela 0, target # encoding: [0x40,0x80,A,0bAAAAAA11]
958# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
959 bnlla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000960# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
961 bnllrl 2
962# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
963 bnllrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000964# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
965 bnlctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000966# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
967 bnlctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000968
Ulrich Weigand86247b62013-06-24 16:52:04 +0000969# CHECK: bge+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA00]
970# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
971 bnl+ 2, target
972# CHECK: bge+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA00]
973# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
974 bnl+ target
975# CHECK: bgea+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA10]
976# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
977 bnla+ 2, target
978# CHECK: bgea+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA10]
979# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
980 bnla+ target
981# CHECK: bgelr+ 2 # encoding: [0x4c,0xe8,0x00,0x20]
982 bnllr+ 2
983# CHECK: bgelr+ 0 # encoding: [0x4c,0xe0,0x00,0x20]
984 bnllr+
985# CHECK: bgectr+ 2 # encoding: [0x4c,0xe8,0x04,0x20]
986 bnlctr+ 2
987# CHECK: bgectr+ 0 # encoding: [0x4c,0xe0,0x04,0x20]
988 bnlctr+
989# CHECK: bgel+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA01]
990# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
991 bnll+ 2, target
992# CHECK: bgel+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA01]
993# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
994 bnll+ target
995# CHECK: bgela+ 2, target # encoding: [0x40,0xe8,A,0bAAAAAA11]
996# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
997 bnlla+ 2, target
998# CHECK: bgela+ 0, target # encoding: [0x40,0xe0,A,0bAAAAAA11]
999# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1000 bnlla+ target
1001# CHECK: bgelrl+ 2 # encoding: [0x4c,0xe8,0x00,0x21]
1002 bnllrl+ 2
1003# CHECK: bgelrl+ 0 # encoding: [0x4c,0xe0,0x00,0x21]
1004 bnllrl+
1005# CHECK: bgectrl+ 2 # encoding: [0x4c,0xe8,0x04,0x21]
1006 bnlctrl+ 2
1007# CHECK: bgectrl+ 0 # encoding: [0x4c,0xe0,0x04,0x21]
1008 bnlctrl+
1009
1010# CHECK: bge- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA00]
1011# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1012 bnl- 2, target
1013# CHECK: bge- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA00]
1014# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1015 bnl- target
1016# CHECK: bgea- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA10]
1017# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1018 bnla- 2, target
1019# CHECK: bgea- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA10]
1020# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1021 bnla- target
1022# CHECK: bgelr- 2 # encoding: [0x4c,0xc8,0x00,0x20]
1023 bnllr- 2
1024# CHECK: bgelr- 0 # encoding: [0x4c,0xc0,0x00,0x20]
1025 bnllr-
1026# CHECK: bgectr- 2 # encoding: [0x4c,0xc8,0x04,0x20]
1027 bnlctr- 2
1028# CHECK: bgectr- 0 # encoding: [0x4c,0xc0,0x04,0x20]
1029 bnlctr-
1030# CHECK: bgel- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA01]
1031# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1032 bnll- 2, target
1033# CHECK: bgel- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA01]
1034# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1035 bnll- target
1036# CHECK: bgela- 2, target # encoding: [0x40,0xc8,A,0bAAAAAA11]
1037# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1038 bnlla- 2, target
1039# CHECK: bgela- 0, target # encoding: [0x40,0xc0,A,0bAAAAAA11]
1040# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1041 bnlla- target
1042# CHECK: bgelrl- 2 # encoding: [0x4c,0xc8,0x00,0x21]
1043 bnllrl- 2
1044# CHECK: bgelrl- 0 # encoding: [0x4c,0xc0,0x00,0x21]
1045 bnllrl-
1046# CHECK: bgectrl- 2 # encoding: [0x4c,0xc8,0x04,0x21]
1047 bnlctrl- 2
1048# CHECK: bgectrl- 0 # encoding: [0x4c,0xc0,0x04,0x21]
1049 bnlctrl-
1050
Ulrich Weigandd8394902013-05-03 19:50:27 +00001051# CHECK: bne 2, target # encoding: [0x40,0x8a,A,0bAAAAAA00]
1052# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1053 bne 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001054# CHECK: bne 0, target # encoding: [0x40,0x82,A,0bAAAAAA00]
1055# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1056 bne target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001057# CHECK: bnea 2, target # encoding: [0x40,0x8a,A,0bAAAAAA10]
1058# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1059 bnea 2, target
1060# CHECK: bnea 0, target # encoding: [0x40,0x82,A,0bAAAAAA10]
1061# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1062 bnea target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001063# CHECK: bnelr 2 # encoding: [0x4c,0x8a,0x00,0x20]
1064 bnelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001065# CHECK: bnelr 0 # encoding: [0x4c,0x82,0x00,0x20]
1066 bnelr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001067# CHECK: bnectr 2 # encoding: [0x4c,0x8a,0x04,0x20]
1068 bnectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001069# CHECK: bnectr 0 # encoding: [0x4c,0x82,0x04,0x20]
1070 bnectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001071# CHECK: bnel 2, target # encoding: [0x40,0x8a,A,0bAAAAAA01]
1072# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1073 bnel 2, target
1074# CHECK: bnel 0, target # encoding: [0x40,0x82,A,0bAAAAAA01]
1075# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1076 bnel target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001077# CHECK: bnela 2, target # encoding: [0x40,0x8a,A,0bAAAAAA11]
1078# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1079 bnela 2, target
1080# CHECK: bnela 0, target # encoding: [0x40,0x82,A,0bAAAAAA11]
1081# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1082 bnela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001083# CHECK: bnelrl 2 # encoding: [0x4c,0x8a,0x00,0x21]
1084 bnelrl 2
1085# CHECK: bnelrl 0 # encoding: [0x4c,0x82,0x00,0x21]
1086 bnelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001087# CHECK: bnectrl 2 # encoding: [0x4c,0x8a,0x04,0x21]
1088 bnectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001089# CHECK: bnectrl 0 # encoding: [0x4c,0x82,0x04,0x21]
1090 bnectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001091
Ulrich Weigand86247b62013-06-24 16:52:04 +00001092# CHECK: bne+ 2, target # encoding: [0x40,0xea,A,0bAAAAAA00]
1093# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1094 bne+ 2, target
1095# CHECK: bne+ 0, target # encoding: [0x40,0xe2,A,0bAAAAAA00]
1096# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1097 bne+ target
1098# CHECK: bnea+ 2, target # encoding: [0x40,0xea,A,0bAAAAAA10]
1099# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1100 bnea+ 2, target
1101# CHECK: bnea+ 0, target # encoding: [0x40,0xe2,A,0bAAAAAA10]
1102# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1103 bnea+ target
1104# CHECK: bnelr+ 2 # encoding: [0x4c,0xea,0x00,0x20]
1105 bnelr+ 2
1106# CHECK: bnelr+ 0 # encoding: [0x4c,0xe2,0x00,0x20]
1107 bnelr+
1108# CHECK: bnectr+ 2 # encoding: [0x4c,0xea,0x04,0x20]
1109 bnectr+ 2
1110# CHECK: bnectr+ 0 # encoding: [0x4c,0xe2,0x04,0x20]
1111 bnectr+
1112# CHECK: bnel+ 2, target # encoding: [0x40,0xea,A,0bAAAAAA01]
1113# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1114 bnel+ 2, target
1115# CHECK: bnel+ 0, target # encoding: [0x40,0xe2,A,0bAAAAAA01]
1116# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1117 bnel+ target
1118# CHECK: bnela+ 2, target # encoding: [0x40,0xea,A,0bAAAAAA11]
1119# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1120 bnela+ 2, target
1121# CHECK: bnela+ 0, target # encoding: [0x40,0xe2,A,0bAAAAAA11]
1122# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1123 bnela+ target
1124# CHECK: bnelrl+ 2 # encoding: [0x4c,0xea,0x00,0x21]
1125 bnelrl+ 2
1126# CHECK: bnelrl+ 0 # encoding: [0x4c,0xe2,0x00,0x21]
1127 bnelrl+
1128# CHECK: bnectrl+ 2 # encoding: [0x4c,0xea,0x04,0x21]
1129 bnectrl+ 2
1130# CHECK: bnectrl+ 0 # encoding: [0x4c,0xe2,0x04,0x21]
1131 bnectrl+
1132
1133# CHECK: bne- 2, target # encoding: [0x40,0xca,A,0bAAAAAA00]
1134# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1135 bne- 2, target
1136# CHECK: bne- 0, target # encoding: [0x40,0xc2,A,0bAAAAAA00]
1137# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1138 bne- target
1139# CHECK: bnea- 2, target # encoding: [0x40,0xca,A,0bAAAAAA10]
1140# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1141 bnea- 2, target
1142# CHECK: bnea- 0, target # encoding: [0x40,0xc2,A,0bAAAAAA10]
1143# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1144 bnea- target
1145# CHECK: bnelr- 2 # encoding: [0x4c,0xca,0x00,0x20]
1146 bnelr- 2
1147# CHECK: bnelr- 0 # encoding: [0x4c,0xc2,0x00,0x20]
1148 bnelr-
1149# CHECK: bnectr- 2 # encoding: [0x4c,0xca,0x04,0x20]
1150 bnectr- 2
1151# CHECK: bnectr- 0 # encoding: [0x4c,0xc2,0x04,0x20]
1152 bnectr-
1153# CHECK: bnel- 2, target # encoding: [0x40,0xca,A,0bAAAAAA01]
1154# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1155 bnel- 2, target
1156# CHECK: bnel- 0, target # encoding: [0x40,0xc2,A,0bAAAAAA01]
1157# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1158 bnel- target
1159# CHECK: bnela- 2, target # encoding: [0x40,0xca,A,0bAAAAAA11]
1160# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1161 bnela- 2, target
1162# CHECK: bnela- 0, target # encoding: [0x40,0xc2,A,0bAAAAAA11]
1163# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1164 bnela- target
1165# CHECK: bnelrl- 2 # encoding: [0x4c,0xca,0x00,0x21]
1166 bnelrl- 2
1167# CHECK: bnelrl- 0 # encoding: [0x4c,0xc2,0x00,0x21]
1168 bnelrl-
1169# CHECK: bnectrl- 2 # encoding: [0x4c,0xca,0x04,0x21]
1170 bnectrl- 2
1171# CHECK: bnectrl- 0 # encoding: [0x4c,0xc2,0x04,0x21]
1172 bnectrl-
1173
Ulrich Weigandd8394902013-05-03 19:50:27 +00001174# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
1175# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1176 bng 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001177# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
1178# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1179 bng target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001180# CHECK: blea 2, target # encoding: [0x40,0x89,A,0bAAAAAA10]
1181# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1182 bnga 2, target
1183# CHECK: blea 0, target # encoding: [0x40,0x81,A,0bAAAAAA10]
1184# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1185 bnga target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001186# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
1187 bnglr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001188# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
1189 bnglr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001190# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
1191 bngctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001192# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
1193 bngctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001194# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
1195# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1196 bngl 2, target
1197# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
1198# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1199 bngl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001200# CHECK: blela 2, target # encoding: [0x40,0x89,A,0bAAAAAA11]
1201# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1202 bngla 2, target
1203# CHECK: blela 0, target # encoding: [0x40,0x81,A,0bAAAAAA11]
1204# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1205 bngla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001206# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
1207 bnglrl 2
1208# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
1209 bnglrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001210# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
1211 bngctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001212# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
1213 bngctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001214
Ulrich Weigand86247b62013-06-24 16:52:04 +00001215# CHECK: ble+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA00]
1216# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1217 bng+ 2, target
1218# CHECK: ble+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA00]
1219# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1220 bng+ target
1221# CHECK: blea+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA10]
1222# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1223 bnga+ 2, target
1224# CHECK: blea+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA10]
1225# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1226 bnga+ target
1227# CHECK: blelr+ 2 # encoding: [0x4c,0xe9,0x00,0x20]
1228 bnglr+ 2
1229# CHECK: blelr+ 0 # encoding: [0x4c,0xe1,0x00,0x20]
1230 bnglr+
1231# CHECK: blectr+ 2 # encoding: [0x4c,0xe9,0x04,0x20]
1232 bngctr+ 2
1233# CHECK: blectr+ 0 # encoding: [0x4c,0xe1,0x04,0x20]
1234 bngctr+
1235# CHECK: blel+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA01]
1236# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1237 bngl+ 2, target
1238# CHECK: blel+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA01]
1239# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1240 bngl+ target
1241# CHECK: blela+ 2, target # encoding: [0x40,0xe9,A,0bAAAAAA11]
1242# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1243 bngla+ 2, target
1244# CHECK: blela+ 0, target # encoding: [0x40,0xe1,A,0bAAAAAA11]
1245# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1246 bngla+ target
1247# CHECK: blelrl+ 2 # encoding: [0x4c,0xe9,0x00,0x21]
1248 bnglrl+ 2
1249# CHECK: blelrl+ 0 # encoding: [0x4c,0xe1,0x00,0x21]
1250 bnglrl+
1251# CHECK: blectrl+ 2 # encoding: [0x4c,0xe9,0x04,0x21]
1252 bngctrl+ 2
1253# CHECK: blectrl+ 0 # encoding: [0x4c,0xe1,0x04,0x21]
1254 bngctrl+
1255
1256# CHECK: ble- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA00]
1257# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1258 bng- 2, target
1259# CHECK: ble- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA00]
1260# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1261 bng- target
1262# CHECK: blea- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA10]
1263# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1264 bnga- 2, target
1265# CHECK: blea- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA10]
1266# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1267 bnga- target
1268# CHECK: blelr- 2 # encoding: [0x4c,0xc9,0x00,0x20]
1269 bnglr- 2
1270# CHECK: blelr- 0 # encoding: [0x4c,0xc1,0x00,0x20]
1271 bnglr-
1272# CHECK: blectr- 2 # encoding: [0x4c,0xc9,0x04,0x20]
1273 bngctr- 2
1274# CHECK: blectr- 0 # encoding: [0x4c,0xc1,0x04,0x20]
1275 bngctr-
1276# CHECK: blel- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA01]
1277# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1278 bngl- 2, target
1279# CHECK: blel- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA01]
1280# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1281 bngl- target
1282# CHECK: blela- 2, target # encoding: [0x40,0xc9,A,0bAAAAAA11]
1283# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1284 bngla- 2, target
1285# CHECK: blela- 0, target # encoding: [0x40,0xc1,A,0bAAAAAA11]
1286# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1287 bngla- target
1288# CHECK: blelrl- 2 # encoding: [0x4c,0xc9,0x00,0x21]
1289 bnglrl- 2
1290# CHECK: blelrl- 0 # encoding: [0x4c,0xc1,0x00,0x21]
1291 bnglrl-
1292# CHECK: blectrl- 2 # encoding: [0x4c,0xc9,0x04,0x21]
1293 bngctrl- 2
1294# CHECK: blectrl- 0 # encoding: [0x4c,0xc1,0x04,0x21]
1295 bngctrl-
1296
Ulrich Weigandd8394902013-05-03 19:50:27 +00001297# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
1298# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1299 bso 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001300# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
1301# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1302 bso target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001303# CHECK: buna 2, target # encoding: [0x41,0x8b,A,0bAAAAAA10]
1304# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1305 bsoa 2, target
1306# CHECK: buna 0, target # encoding: [0x41,0x83,A,0bAAAAAA10]
1307# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1308 bsoa target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001309# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
1310 bsolr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001311# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
1312 bsolr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001313# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
1314 bsoctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001315# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
1316 bsoctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001317# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
1318# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1319 bsol 2, target
1320# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
1321# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1322 bsol target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001323# CHECK: bunla 2, target # encoding: [0x41,0x8b,A,0bAAAAAA11]
1324# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1325 bsola 2, target
1326# CHECK: bunla 0, target # encoding: [0x41,0x83,A,0bAAAAAA11]
1327# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1328 bsola target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001329# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
1330 bsolrl 2
1331# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
1332 bsolrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001333# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
1334 bsoctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001335# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
1336 bsoctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001337
Ulrich Weigand86247b62013-06-24 16:52:04 +00001338# CHECK: bun+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA00]
1339# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1340 bso+ 2, target
1341# CHECK: bun+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA00]
1342# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1343 bso+ target
1344# CHECK: buna+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA10]
1345# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1346 bsoa+ 2, target
1347# CHECK: buna+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA10]
1348# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1349 bsoa+ target
1350# CHECK: bunlr+ 2 # encoding: [0x4d,0xeb,0x00,0x20]
1351 bsolr+ 2
1352# CHECK: bunlr+ 0 # encoding: [0x4d,0xe3,0x00,0x20]
1353 bsolr+
1354# CHECK: bunctr+ 2 # encoding: [0x4d,0xeb,0x04,0x20]
1355 bsoctr+ 2
1356# CHECK: bunctr+ 0 # encoding: [0x4d,0xe3,0x04,0x20]
1357 bsoctr+
1358# CHECK: bunl+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA01]
1359# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1360 bsol+ 2, target
1361# CHECK: bunl+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA01]
1362# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1363 bsol+ target
1364# CHECK: bunla+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA11]
1365# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1366 bsola+ 2, target
1367# CHECK: bunla+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA11]
1368# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1369 bsola+ target
1370# CHECK: bunlrl+ 2 # encoding: [0x4d,0xeb,0x00,0x21]
1371 bsolrl+ 2
1372# CHECK: bunlrl+ 0 # encoding: [0x4d,0xe3,0x00,0x21]
1373 bsolrl+
1374# CHECK: bunctrl+ 2 # encoding: [0x4d,0xeb,0x04,0x21]
1375 bsoctrl+ 2
1376# CHECK: bunctrl+ 0 # encoding: [0x4d,0xe3,0x04,0x21]
1377 bsoctrl+
1378
1379# CHECK: bun- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA00]
1380# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1381 bso- 2, target
1382# CHECK: bun- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA00]
1383# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1384 bso- target
1385# CHECK: buna- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA10]
1386# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1387 bsoa- 2, target
1388# CHECK: buna- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA10]
1389# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1390 bsoa- target
1391# CHECK: bunlr- 2 # encoding: [0x4d,0xcb,0x00,0x20]
1392 bsolr- 2
1393# CHECK: bunlr- 0 # encoding: [0x4d,0xc3,0x00,0x20]
1394 bsolr-
1395# CHECK: bunctr- 2 # encoding: [0x4d,0xcb,0x04,0x20]
1396 bsoctr- 2
1397# CHECK: bunctr- 0 # encoding: [0x4d,0xc3,0x04,0x20]
1398 bsoctr-
1399# CHECK: bunl- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA01]
1400# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1401 bsol- 2, target
1402# CHECK: bunl- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA01]
1403# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1404 bsol- target
1405# CHECK: bunla- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA11]
1406# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1407 bsola- 2, target
1408# CHECK: bunla- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA11]
1409# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1410 bsola- target
1411# CHECK: bunlrl- 2 # encoding: [0x4d,0xcb,0x00,0x21]
1412 bsolrl- 2
1413# CHECK: bunlrl- 0 # encoding: [0x4d,0xc3,0x00,0x21]
1414 bsolrl-
1415# CHECK: bunctrl- 2 # encoding: [0x4d,0xcb,0x04,0x21]
1416 bsoctrl- 2
1417# CHECK: bunctrl- 0 # encoding: [0x4d,0xc3,0x04,0x21]
1418 bsoctrl-
1419
Ulrich Weigandd8394902013-05-03 19:50:27 +00001420# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
1421# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1422 bns 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001423# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
1424# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1425 bns target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001426# CHECK: bnua 2, target # encoding: [0x40,0x8b,A,0bAAAAAA10]
1427# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1428 bnsa 2, target
1429# CHECK: bnua 0, target # encoding: [0x40,0x83,A,0bAAAAAA10]
1430# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1431 bnsa target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001432# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
1433 bnslr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001434# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
1435 bnslr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001436# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
1437 bnsctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001438# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
1439 bnsctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001440# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
1441# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1442 bnsl 2, target
1443# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
1444# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1445 bnsl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001446# CHECK: bnula 2, target # encoding: [0x40,0x8b,A,0bAAAAAA11]
1447# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1448 bnsla 2, target
1449# CHECK: bnula 0, target # encoding: [0x40,0x83,A,0bAAAAAA11]
1450# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1451 bnsla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001452# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
1453 bnslrl 2
1454# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
1455 bnslrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001456# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
1457 bnsctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001458# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
1459 bnsctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001460
Ulrich Weigand86247b62013-06-24 16:52:04 +00001461# CHECK: bnu+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA00]
1462# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1463 bns+ 2, target
1464# CHECK: bnu+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA00]
1465# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1466 bns+ target
1467# CHECK: bnua+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA10]
1468# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1469 bnsa+ 2, target
1470# CHECK: bnua+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA10]
1471# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1472 bnsa+ target
1473# CHECK: bnulr+ 2 # encoding: [0x4c,0xeb,0x00,0x20]
1474 bnslr+ 2
1475# CHECK: bnulr+ 0 # encoding: [0x4c,0xe3,0x00,0x20]
1476 bnslr+
1477# CHECK: bnuctr+ 2 # encoding: [0x4c,0xeb,0x04,0x20]
1478 bnsctr+ 2
1479# CHECK: bnuctr+ 0 # encoding: [0x4c,0xe3,0x04,0x20]
1480 bnsctr+
1481# CHECK: bnul+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA01]
1482# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1483 bnsl+ 2, target
1484# CHECK: bnul+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA01]
1485# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1486 bnsl+ target
1487# CHECK: bnula+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA11]
1488# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1489 bnsla+ 2, target
1490# CHECK: bnula+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA11]
1491# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1492 bnsla+ target
1493# CHECK: bnulrl+ 2 # encoding: [0x4c,0xeb,0x00,0x21]
1494 bnslrl+ 2
1495# CHECK: bnulrl+ 0 # encoding: [0x4c,0xe3,0x00,0x21]
1496 bnslrl+
1497# CHECK: bnuctrl+ 2 # encoding: [0x4c,0xeb,0x04,0x21]
1498 bnsctrl+ 2
1499# CHECK: bnuctrl+ 0 # encoding: [0x4c,0xe3,0x04,0x21]
1500 bnsctrl+
1501
1502# CHECK: bnu- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA00]
1503# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1504 bns- 2, target
1505# CHECK: bnu- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA00]
1506# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1507 bns- target
1508# CHECK: bnua- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA10]
1509# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1510 bnsa- 2, target
1511# CHECK: bnua- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA10]
1512# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1513 bnsa- target
1514# CHECK: bnulr- 2 # encoding: [0x4c,0xcb,0x00,0x20]
1515 bnslr- 2
1516# CHECK: bnulr- 0 # encoding: [0x4c,0xc3,0x00,0x20]
1517 bnslr-
1518# CHECK: bnuctr- 2 # encoding: [0x4c,0xcb,0x04,0x20]
1519 bnsctr- 2
1520# CHECK: bnuctr- 0 # encoding: [0x4c,0xc3,0x04,0x20]
1521 bnsctr-
1522# CHECK: bnul- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA01]
1523# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1524 bnsl- 2, target
1525# CHECK: bnul- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA01]
1526# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1527 bnsl- target
1528# CHECK: bnula- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA11]
1529# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1530 bnsla- 2, target
1531# CHECK: bnula- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA11]
1532# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1533 bnsla- target
1534# CHECK: bnulrl- 2 # encoding: [0x4c,0xcb,0x00,0x21]
1535 bnslrl- 2
1536# CHECK: bnulrl- 0 # encoding: [0x4c,0xc3,0x00,0x21]
1537 bnslrl-
1538# CHECK: bnuctrl- 2 # encoding: [0x4c,0xcb,0x04,0x21]
1539 bnsctrl- 2
1540# CHECK: bnuctrl- 0 # encoding: [0x4c,0xc3,0x04,0x21]
1541 bnsctrl-
1542
Ulrich Weigandd8394902013-05-03 19:50:27 +00001543# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
1544# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1545 bun 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001546# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
1547# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1548 bun target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001549# CHECK: buna 2, target # encoding: [0x41,0x8b,A,0bAAAAAA10]
1550# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1551 buna 2, target
1552# CHECK: buna 0, target # encoding: [0x41,0x83,A,0bAAAAAA10]
1553# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1554 buna target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001555# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
1556 bunlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001557# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
1558 bunlr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001559# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
1560 bunctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001561# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
1562 bunctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001563# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
1564# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1565 bunl 2, target
1566# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
1567# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1568 bunl target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001569# CHECK: bunla 2, target # encoding: [0x41,0x8b,A,0bAAAAAA11]
1570# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1571 bunla 2, target
1572# CHECK: bunla 0, target # encoding: [0x41,0x83,A,0bAAAAAA11]
1573# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1574 bunla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001575# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
1576 bunlrl 2
1577# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
1578 bunlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001579# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
1580 bunctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001581# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
1582 bunctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001583
Ulrich Weigand86247b62013-06-24 16:52:04 +00001584# CHECK: bun+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA00]
1585# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1586 bun+ 2, target
1587# CHECK: bun+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA00]
1588# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1589 bun+ target
1590# CHECK: buna+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA10]
1591# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1592 buna+ 2, target
1593# CHECK: buna+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA10]
1594# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1595 buna+ target
1596# CHECK: bunlr+ 2 # encoding: [0x4d,0xeb,0x00,0x20]
1597 bunlr+ 2
1598# CHECK: bunlr+ 0 # encoding: [0x4d,0xe3,0x00,0x20]
1599 bunlr+
1600# CHECK: bunctr+ 2 # encoding: [0x4d,0xeb,0x04,0x20]
1601 bunctr+ 2
1602# CHECK: bunctr+ 0 # encoding: [0x4d,0xe3,0x04,0x20]
1603 bunctr+
1604# CHECK: bunl+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA01]
1605# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1606 bunl+ 2, target
1607# CHECK: bunl+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA01]
1608# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1609 bunl+ target
1610# CHECK: bunla+ 2, target # encoding: [0x41,0xeb,A,0bAAAAAA11]
1611# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1612 bunla+ 2, target
1613# CHECK: bunla+ 0, target # encoding: [0x41,0xe3,A,0bAAAAAA11]
1614# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1615 bunla+ target
1616# CHECK: bunlrl+ 2 # encoding: [0x4d,0xeb,0x00,0x21]
1617 bunlrl+ 2
1618# CHECK: bunlrl+ 0 # encoding: [0x4d,0xe3,0x00,0x21]
1619 bunlrl+
1620# CHECK: bunctrl+ 2 # encoding: [0x4d,0xeb,0x04,0x21]
1621 bunctrl+ 2
1622# CHECK: bunctrl+ 0 # encoding: [0x4d,0xe3,0x04,0x21]
1623 bunctrl+
1624
1625# CHECK: bun- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA00]
1626# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1627 bun- 2, target
1628# CHECK: bun- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA00]
1629# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1630 bun- target
1631# CHECK: buna- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA10]
1632# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1633 buna- 2, target
1634# CHECK: buna- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA10]
1635# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1636 buna- target
1637# CHECK: bunlr- 2 # encoding: [0x4d,0xcb,0x00,0x20]
1638 bunlr- 2
1639# CHECK: bunlr- 0 # encoding: [0x4d,0xc3,0x00,0x20]
1640 bunlr-
1641# CHECK: bunctr- 2 # encoding: [0x4d,0xcb,0x04,0x20]
1642 bunctr- 2
1643# CHECK: bunctr- 0 # encoding: [0x4d,0xc3,0x04,0x20]
1644 bunctr-
1645# CHECK: bunl- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA01]
1646# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1647 bunl- 2, target
1648# CHECK: bunl- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA01]
1649# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1650 bunl- target
1651# CHECK: bunla- 2, target # encoding: [0x41,0xcb,A,0bAAAAAA11]
1652# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1653 bunla- 2, target
1654# CHECK: bunla- 0, target # encoding: [0x41,0xc3,A,0bAAAAAA11]
1655# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1656 bunla- target
1657# CHECK: bunlrl- 2 # encoding: [0x4d,0xcb,0x00,0x21]
1658 bunlrl- 2
1659# CHECK: bunlrl- 0 # encoding: [0x4d,0xc3,0x00,0x21]
1660 bunlrl-
1661# CHECK: bunctrl- 2 # encoding: [0x4d,0xcb,0x04,0x21]
1662 bunctrl- 2
1663# CHECK: bunctrl- 0 # encoding: [0x4d,0xc3,0x04,0x21]
1664 bunctrl-
1665
Ulrich Weigandd8394902013-05-03 19:50:27 +00001666# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
1667# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1668 bnu 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001669# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
1670# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1671 bnu target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001672# CHECK: bnua 2, target # encoding: [0x40,0x8b,A,0bAAAAAA10]
1673# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1674 bnua 2, target
1675# CHECK: bnua 0, target # encoding: [0x40,0x83,A,0bAAAAAA10]
1676# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1677 bnua target
Ulrich Weigandd8394902013-05-03 19:50:27 +00001678# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
1679 bnulr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001680# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
1681 bnulr
Ulrich Weigandd8394902013-05-03 19:50:27 +00001682# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
1683 bnuctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001684# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
1685 bnuctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +00001686# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
1687# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1688 bnul 2, target
1689# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
1690# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1691 bnul target
Ulrich Weigandb6a30d12013-06-24 11:03:33 +00001692# CHECK: bnula 2, target # encoding: [0x40,0x8b,A,0bAAAAAA11]
1693# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1694 bnula 2, target
1695# CHECK: bnula 0, target # encoding: [0x40,0x83,A,0bAAAAAA11]
1696# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1697 bnula target
Ulrich Weigand1847bb82013-06-24 11:01:55 +00001698# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
1699 bnulrl 2
1700# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
1701 bnulrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001702# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
1703 bnuctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +00001704# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
1705 bnuctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +00001706
Ulrich Weigand86247b62013-06-24 16:52:04 +00001707# CHECK: bnu+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA00]
1708# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1709 bnu+ 2, target
1710# CHECK: bnu+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA00]
1711# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1712 bnu+ target
1713# CHECK: bnua+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA10]
1714# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1715 bnua+ 2, target
1716# CHECK: bnua+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA10]
1717# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1718 bnua+ target
1719# CHECK: bnulr+ 2 # encoding: [0x4c,0xeb,0x00,0x20]
1720 bnulr+ 2
1721# CHECK: bnulr+ 0 # encoding: [0x4c,0xe3,0x00,0x20]
1722 bnulr+
1723# CHECK: bnuctr+ 2 # encoding: [0x4c,0xeb,0x04,0x20]
1724 bnuctr+ 2
1725# CHECK: bnuctr+ 0 # encoding: [0x4c,0xe3,0x04,0x20]
1726 bnuctr+
1727# CHECK: bnul+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA01]
1728# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1729 bnul+ 2, target
1730# CHECK: bnul+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA01]
1731# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1732 bnul+ target
1733# CHECK: bnula+ 2, target # encoding: [0x40,0xeb,A,0bAAAAAA11]
1734# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1735 bnula+ 2, target
1736# CHECK: bnula+ 0, target # encoding: [0x40,0xe3,A,0bAAAAAA11]
1737# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1738 bnula+ target
1739# CHECK: bnulrl+ 2 # encoding: [0x4c,0xeb,0x00,0x21]
1740 bnulrl+ 2
1741# CHECK: bnulrl+ 0 # encoding: [0x4c,0xe3,0x00,0x21]
1742 bnulrl+
1743# CHECK: bnuctrl+ 2 # encoding: [0x4c,0xeb,0x04,0x21]
1744 bnuctrl+ 2
1745# CHECK: bnuctrl+ 0 # encoding: [0x4c,0xe3,0x04,0x21]
1746 bnuctrl+
1747
1748# CHECK: bnu- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA00]
1749# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1750 bnu- 2, target
1751# CHECK: bnu- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA00]
1752# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1753 bnu- target
1754# CHECK: bnua- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA10]
1755# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1756 bnua- 2, target
1757# CHECK: bnua- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA10]
1758# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1759 bnua- target
1760# CHECK: bnulr- 2 # encoding: [0x4c,0xcb,0x00,0x20]
1761 bnulr- 2
1762# CHECK: bnulr- 0 # encoding: [0x4c,0xc3,0x00,0x20]
1763 bnulr-
1764# CHECK: bnuctr- 2 # encoding: [0x4c,0xcb,0x04,0x20]
1765 bnuctr- 2
1766# CHECK: bnuctr- 0 # encoding: [0x4c,0xc3,0x04,0x20]
1767 bnuctr-
1768# CHECK: bnul- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA01]
1769# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1770 bnul- 2, target
1771# CHECK: bnul- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA01]
1772# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
1773 bnul- target
1774# CHECK: bnula- 2, target # encoding: [0x40,0xcb,A,0bAAAAAA11]
1775# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1776 bnula- 2, target
1777# CHECK: bnula- 0, target # encoding: [0x40,0xc3,A,0bAAAAAA11]
1778# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
1779 bnula- target
1780# CHECK: bnulrl- 2 # encoding: [0x4c,0xcb,0x00,0x21]
1781 bnulrl- 2
1782# CHECK: bnulrl- 0 # encoding: [0x4c,0xc3,0x00,0x21]
1783 bnulrl-
1784# CHECK: bnuctrl- 2 # encoding: [0x4c,0xcb,0x04,0x21]
1785 bnuctrl- 2
1786# CHECK: bnuctrl- 0 # encoding: [0x4c,0xc3,0x04,0x21]
1787 bnuctrl-
1788
Ulrich Weigandd8394902013-05-03 19:50:27 +00001789# FIXME: Condition register logical mnemonics
1790
1791# FIXME: Subtract mnemonics
1792
1793# Compare mnemonics
1794
1795# CHECK: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80]
1796 cmpdi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001797# CHECK: cmpdi 0, 3, 128 # encoding: [0x2c,0x23,0x00,0x80]
1798 cmpdi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +00001799# CHECK: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00]
1800 cmpd 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001801# CHECK: cmpd 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x00]
1802 cmpd 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +00001803# CHECK: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80]
1804 cmpldi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001805# CHECK: cmpldi 0, 3, 128 # encoding: [0x28,0x23,0x00,0x80]
1806 cmpldi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +00001807# CHECK: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40]
1808 cmpld 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001809# CHECK: cmpld 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x40]
1810 cmpld 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +00001811
1812# CHECK: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80]
1813 cmpwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001814# CHECK: cmpwi 0, 3, 128 # encoding: [0x2c,0x03,0x00,0x80]
1815 cmpwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +00001816# CHECK: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00]
1817 cmpw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001818# CHECK: cmpw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x00]
1819 cmpw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +00001820# CHECK: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80]
1821 cmplwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001822# CHECK: cmplwi 0, 3, 128 # encoding: [0x28,0x03,0x00,0x80]
1823 cmplwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +00001824# CHECK: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40]
1825 cmplw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +00001826# CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40]
1827 cmplw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +00001828
1829# FIXME: Trap mnemonics
1830
1831# Rotate and shift mnemonics
1832
1833# FIXME: extldi 2, 3, 4, 5
1834# FIXME: extrdi 2, 3, 4, 5
1835# FIXME: insrdi 2, 3, 4, 5
1836# FIXME: rotldi 2, 3, 4
1837# FIXME: rotrdi 2, 3, 4
1838# FIXME: rotld 2, 3, 4
1839# CHECK: sldi 2, 3, 4 # encoding: [0x78,0x62,0x26,0xe4]
1840 sldi 2, 3, 4
1841# CHECK: rldicl 2, 3, 60, 4 # encoding: [0x78,0x62,0xe1,0x02]
1842 srdi 2, 3, 4
1843# FIXME: clrldi 2, 3, 4
1844# FIXME: clrrdi 2, 3, 4
1845# FIXME: clrlsldi 2, 3, 4, 5
1846
1847# FIXME: extlwi 2, 3, 4, 5
1848# FIXME: extrwi 2, 3, 4, 5
1849# FIXME: inslwi 2, 3, 4, 5
1850# FIXME: insrwi 2, 3, 4, 5
1851# FIXME: rotlwi 2, 3, 4
1852# FIXME: rotrwi 2, 3, 4
1853# FIXME: rotlw 2, 3, 4
1854# CHECK: slwi 2, 3, 4 # encoding: [0x54,0x62,0x20,0x36]
1855 slwi 2, 3, 4
1856# CHECK: srwi 2, 3, 4 # encoding: [0x54,0x62,0xe1,0x3e]
1857 srwi 2, 3, 4
1858# FIXME: clrlwi 2, 3, 4
1859# FIXME: clrrwi 2, 3, 4
1860# FIXME: clrlslwi 2, 3, 4, 5
1861
1862# Move to/from special purpose register mnemonics
1863
1864# FIXME: mtxer 2
1865# FIXME: mfxer 2
1866# CHECK: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6]
1867 mtlr 2
1868# CHECK: mflr 2 # encoding: [0x7c,0x48,0x02,0xa6]
1869 mflr 2
1870# CHECK: mtctr 2 # encoding: [0x7c,0x49,0x03,0xa6]
1871 mtctr 2
1872# CHECK: mfctr 2 # encoding: [0x7c,0x49,0x02,0xa6]
1873 mfctr 2
1874
1875# Miscellaneous mnemonics
1876
1877# CHECK: nop # encoding: [0x60,0x00,0x00,0x00]
1878 nop
1879# FIXME: xnop
1880# CHECK: li 2, 128 # encoding: [0x38,0x40,0x00,0x80]
1881 li 2, 128
1882# CHECK: lis 2, 128 # encoding: [0x3c,0x40,0x00,0x80]
1883 lis 2, 128
1884# FIXME: la 2, 128(4)
1885# CHECK: mr 2, 3 # encoding: [0x7c,0x62,0x1b,0x78]
1886 mr 2, 3
1887# FIXME: not 2, 3
1888