blob: 9ca8199de9d6443b2d942a4e8d3bb2bfe07f1877 [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
17# FIXME: bt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000018# FIXME: bt target
Ulrich Weigandd8394902013-05-03 19:50:27 +000019# FIXME: bta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000020# FIXME: bta target
Ulrich Weigandd8394902013-05-03 19:50:27 +000021# FIXME: btlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000022# FIXME: btlr
Ulrich Weigandd8394902013-05-03 19:50:27 +000023# FIXME: btctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000024# FIXME: btctr
Ulrich Weigandd8394902013-05-03 19:50:27 +000025# FIXME: btl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000026# FIXME: btl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000027# FIXME: btla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000028# FIXME: btla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000029# FIXME: btlrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000030# FIXME: btlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000031# FIXME: btctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000032# FIXME: btctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000033
34# FIXME: bf 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000035# FIXME: bf target
Ulrich Weigandd8394902013-05-03 19:50:27 +000036# FIXME: bfa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000037# FIXME: bfa target
Ulrich Weigandd8394902013-05-03 19:50:27 +000038# FIXME: bflr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000039# FIXME: bflr
Ulrich Weigandd8394902013-05-03 19:50:27 +000040# FIXME: bfctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000041# FIXME: bfctr
Ulrich Weigandd8394902013-05-03 19:50:27 +000042# FIXME: bfl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000043# FIXME: bfl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000044# FIXME: bfla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000045# FIXME: bfla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000046# FIXME: bflrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000047# FIXME: bflrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000048# FIXME: bfctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000049# FIXME: bfctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000050
51# CHECK: bdnz target # encoding: [0x42,0x00,A,0bAAAAAA00]
52# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
53 bdnz target
54# FIXME: bdnza target
55# CHECK: bdnzlr # encoding: [0x4e,0x00,0x00,0x20]
56 bdnzlr
Ulrich Weigand5b9d5912013-06-24 11:02:38 +000057# CHECK: bdnzl target # encoding: [0x42,0x00,A,0bAAAAAA01]
58# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
59 bdnzl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000060# FIXME: bdnzla target
Ulrich Weigand5b9d5912013-06-24 11:02:38 +000061# CHECK: bdnzlrl # encoding: [0x4e,0x00,0x00,0x21]
62 bdnzlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000063
64# FIXME: bdnzt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000065# FIXME: bdnzt target
Ulrich Weigandd8394902013-05-03 19:50:27 +000066# FIXME: bdnzta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000067# FIXME: bdnzta target
Ulrich Weigandd8394902013-05-03 19:50:27 +000068# FIXME: bdnztlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000069# FIXME: bdnztlr
Ulrich Weigandd8394902013-05-03 19:50:27 +000070# FIXME: bdnztl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000071# FIXME: bdnztl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000072# FIXME: bdnztla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000073# FIXME: bdnztla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000074# FIXME: bdnztlrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000075# FIXME: bdnztlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000076# FIXME: bdnzf 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000077# FIXME: bdnzf target
Ulrich Weigandd8394902013-05-03 19:50:27 +000078# FIXME: bdnzfa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000079# FIXME: bdnzfa target
Ulrich Weigandd8394902013-05-03 19:50:27 +000080# FIXME: bdnzflr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000081# FIXME: bdnzflr
Ulrich Weigandd8394902013-05-03 19:50:27 +000082# FIXME: bdnzfl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000083# FIXME: bdnzfl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000084# FIXME: bdnzfla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000085# FIXME: bdnzfla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000086# FIXME: bdnzflrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000087# FIXME: bdnzflrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000088
89# CHECK: bdz target # encoding: [0x42,0x40,A,0bAAAAAA00]
90# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
91 bdz target
92# FIXME: bdza target
93# CHECK: bdzlr # encoding: [0x4e,0x40,0x00,0x20]
94 bdzlr
Ulrich Weigand5b9d5912013-06-24 11:02:38 +000095# CHECK: bdzl target # encoding: [0x42,0x40,A,0bAAAAAA01]
96# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
97 bdzl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000098# FIXME: bdzla target
Ulrich Weigand5b9d5912013-06-24 11:02:38 +000099# CHECK: bdzlrl # encoding: [0x4e,0x40,0x00,0x21]
100 bdzlrl
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000101
Ulrich Weigandd8394902013-05-03 19:50:27 +0000102# FIXME: bdzt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000103# FIXME: bdzt target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000104# FIXME: bdzta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000105# FIXME: bdzta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000106# FIXME: bdztlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000107# FIXME: bdztlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000108# FIXME: bdztl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000109# FIXME: bdztl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000110# FIXME: bdztla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000111# FIXME: bdztla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000112# FIXME: bdztlrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000113# FIXME: bdztlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000114# FIXME: bdzf 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000115# FIXME: bdzf target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000116# FIXME: bdzfa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000117# FIXME: bdzfa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000118# FIXME: bdzflr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000119# FIXME: bdzflr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000120# FIXME: bdzfl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000121# FIXME: bdzfl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000122# FIXME: bdzfla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000123# FIXME: bdzfla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000124# FIXME: bdzflrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000125# FIXME: bdzflrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000126
127# CHECK: blt 2, target # encoding: [0x41,0x88,A,0bAAAAAA00]
128# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
129 blt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000130# CHECK: blt 0, target # encoding: [0x41,0x80,A,0bAAAAAA00]
131# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
132 blt target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000133# FIXME: blta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000134# FIXME: blta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000135# CHECK: bltlr 2 # encoding: [0x4d,0x88,0x00,0x20]
136 bltlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000137# CHECK: bltlr 0 # encoding: [0x4d,0x80,0x00,0x20]
138 bltlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000139# CHECK: bltctr 2 # encoding: [0x4d,0x88,0x04,0x20]
140 bltctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000141# CHECK: bltctr 0 # encoding: [0x4d,0x80,0x04,0x20]
142 bltctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000143# CHECK: bltl 2, target # encoding: [0x41,0x88,A,0bAAAAAA01]
144# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
145 bltl 2, target
146# CHECK: bltl 0, target # encoding: [0x41,0x80,A,0bAAAAAA01]
147# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
148 bltl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000149# FIXME: bltla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000150# FIXME: bltla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000151# CHECK: bltlrl 2 # encoding: [0x4d,0x88,0x00,0x21]
152 bltlrl 2
153# CHECK: bltlrl 0 # encoding: [0x4d,0x80,0x00,0x21]
154 bltlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000155# CHECK: bltctrl 2 # encoding: [0x4d,0x88,0x04,0x21]
156 bltctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000157# CHECK: bltctrl 0 # encoding: [0x4d,0x80,0x04,0x21]
158 bltctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000159
160# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
161# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
162 ble 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000163# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
164# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
165 ble target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000166# FIXME: blea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000167# FIXME: blea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000168# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
169 blelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000170# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
171 blelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000172# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
173 blectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000174# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
175 blectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000176# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
177# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
178 blel 2, target
179# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
180# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
181 blel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000182# FIXME: blela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000183# FIXME: blela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000184# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
185 blelrl 2
186# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
187 blelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000188# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
189 blectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000190# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
191 blectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000192
193# CHECK: beq 2, target # encoding: [0x41,0x8a,A,0bAAAAAA00]
194# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
195 beq 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000196# CHECK: beq 0, target # encoding: [0x41,0x82,A,0bAAAAAA00]
197# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
198 beq target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000199# FIXME: beqa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000200# FIXME: beqa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000201# CHECK: beqlr 2 # encoding: [0x4d,0x8a,0x00,0x20]
202 beqlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000203# CHECK: beqlr 0 # encoding: [0x4d,0x82,0x00,0x20]
204 beqlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000205# CHECK: beqctr 2 # encoding: [0x4d,0x8a,0x04,0x20]
206 beqctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000207# CHECK: beqctr 0 # encoding: [0x4d,0x82,0x04,0x20]
208 beqctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000209# CHECK: beql 2, target # encoding: [0x41,0x8a,A,0bAAAAAA01]
210# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
211 beql 2, target
212# CHECK: beql 0, target # encoding: [0x41,0x82,A,0bAAAAAA01]
213# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
214 beql target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000215# FIXME: beqla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000216# FIXME: beqla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000217# CHECK: beqlrl 2 # encoding: [0x4d,0x8a,0x00,0x21]
218 beqlrl 2
219# CHECK: beqlrl 0 # encoding: [0x4d,0x82,0x00,0x21]
220 beqlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000221# CHECK: beqctrl 2 # encoding: [0x4d,0x8a,0x04,0x21]
222 beqctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000223# CHECK: beqctrl 0 # encoding: [0x4d,0x82,0x04,0x21]
224 beqctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000225
226# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
227# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
228 bge 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000229# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
230# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
231 bge target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000232# FIXME: bgea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000233# FIXME: bgea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000234# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
235 bgelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000236# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
237 bgelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000238# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
239 bgectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000240# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
241 bgectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000242# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
243# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
244 bgel 2, target
245# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
246# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
247 bgel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000248# FIXME: bgela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000249# FIXME: bgela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000250# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
251 bgelrl 2
252# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
253 bgelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000254# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
255 bgectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000256# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
257 bgectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000258
259# CHECK: bgt 2, target # encoding: [0x41,0x89,A,0bAAAAAA00]
260# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
261 bgt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000262# CHECK: bgt 0, target # encoding: [0x41,0x81,A,0bAAAAAA00]
263# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
264 bgt target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000265# FIXME: bgta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000266# FIXME: bgta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000267# CHECK: bgtlr 2 # encoding: [0x4d,0x89,0x00,0x20]
268 bgtlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000269# CHECK: bgtlr 0 # encoding: [0x4d,0x81,0x00,0x20]
270 bgtlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000271# CHECK: bgtctr 2 # encoding: [0x4d,0x89,0x04,0x20]
272 bgtctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000273# CHECK: bgtctr 0 # encoding: [0x4d,0x81,0x04,0x20]
274 bgtctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000275# CHECK: bgtl 2, target # encoding: [0x41,0x89,A,0bAAAAAA01]
276# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
277 bgtl 2, target
278# CHECK: bgtl 0, target # encoding: [0x41,0x81,A,0bAAAAAA01]
279# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
280 bgtl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000281# FIXME: bgtla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000282# FIXME: bgtla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000283# CHECK: bgtlrl 2 # encoding: [0x4d,0x89,0x00,0x21]
284 bgtlrl 2
285# CHECK: bgtlrl 0 # encoding: [0x4d,0x81,0x00,0x21]
286 bgtlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000287# CHECK: bgtctrl 2 # encoding: [0x4d,0x89,0x04,0x21]
288 bgtctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000289# CHECK: bgtctrl 0 # encoding: [0x4d,0x81,0x04,0x21]
290 bgtctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000291
292# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
293# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
294 bnl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000295# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
296# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
297 bnl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000298# FIXME: bnla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000299# FIXME: bnla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000300# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
301 bnllr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000302# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
303 bnllr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000304# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
305 bnlctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000306# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
307 bnlctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000308# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
309# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
310 bnll 2, target
311# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
312# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
313 bnll target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000314# FIXME: bnlla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000315# FIXME: bnlla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000316# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
317 bnllrl 2
318# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
319 bnllrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000320# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
321 bnlctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000322# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
323 bnlctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000324
325# CHECK: bne 2, target # encoding: [0x40,0x8a,A,0bAAAAAA00]
326# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
327 bne 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000328# CHECK: bne 0, target # encoding: [0x40,0x82,A,0bAAAAAA00]
329# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
330 bne target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000331# FIXME: bnea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000332# FIXME: bnea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000333# CHECK: bnelr 2 # encoding: [0x4c,0x8a,0x00,0x20]
334 bnelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000335# CHECK: bnelr 0 # encoding: [0x4c,0x82,0x00,0x20]
336 bnelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000337# CHECK: bnectr 2 # encoding: [0x4c,0x8a,0x04,0x20]
338 bnectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000339# CHECK: bnectr 0 # encoding: [0x4c,0x82,0x04,0x20]
340 bnectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000341# CHECK: bnel 2, target # encoding: [0x40,0x8a,A,0bAAAAAA01]
342# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
343 bnel 2, target
344# CHECK: bnel 0, target # encoding: [0x40,0x82,A,0bAAAAAA01]
345# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
346 bnel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000347# FIXME: bnela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000348# FIXME: bnela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000349# CHECK: bnelrl 2 # encoding: [0x4c,0x8a,0x00,0x21]
350 bnelrl 2
351# CHECK: bnelrl 0 # encoding: [0x4c,0x82,0x00,0x21]
352 bnelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000353# CHECK: bnectrl 2 # encoding: [0x4c,0x8a,0x04,0x21]
354 bnectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000355# CHECK: bnectrl 0 # encoding: [0x4c,0x82,0x04,0x21]
356 bnectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000357
358# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
359# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
360 bng 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000361# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
362# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
363 bng target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000364# FIXME: bnga 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000365# FIXME: bnga target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000366# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
367 bnglr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000368# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
369 bnglr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000370# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
371 bngctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000372# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
373 bngctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000374# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
375# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
376 bngl 2, target
377# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
378# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
379 bngl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000380# FIXME: bngla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000381# FIXME: bngla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000382# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
383 bnglrl 2
384# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
385 bnglrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000386# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
387 bngctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000388# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
389 bngctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000390
391# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
392# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
393 bso 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000394# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
395# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
396 bso target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000397# FIXME: bsoa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000398# FIXME: bsoa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000399# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
400 bsolr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000401# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
402 bsolr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000403# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
404 bsoctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000405# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
406 bsoctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000407# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
408# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
409 bsol 2, target
410# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
411# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
412 bsol target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000413# FIXME: bsola 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000414# FIXME: bsola target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000415# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
416 bsolrl 2
417# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
418 bsolrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000419# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
420 bsoctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000421# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
422 bsoctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000423
424# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
425# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
426 bns 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000427# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
428# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
429 bns target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000430# FIXME: bnsa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000431# FIXME: bnsa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000432# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
433 bnslr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000434# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
435 bnslr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000436# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
437 bnsctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000438# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
439 bnsctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000440# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
441# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
442 bnsl 2, target
443# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
444# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
445 bnsl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000446# FIXME: bnsla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000447# FIXME: bnsla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000448# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
449 bnslrl 2
450# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
451 bnslrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000452# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
453 bnsctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000454# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
455 bnsctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000456
457# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
458# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
459 bun 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000460# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
461# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
462 bun target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000463# FIXME: buna 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000464# FIXME: buna target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000465# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
466 bunlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000467# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
468 bunlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000469# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
470 bunctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000471# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
472 bunctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000473# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
474# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
475 bunl 2, target
476# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
477# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
478 bunl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000479# FIXME: bunla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000480# FIXME: bunla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000481# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
482 bunlrl 2
483# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
484 bunlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000485# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
486 bunctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000487# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
488 bunctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000489
490# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
491# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
492 bnu 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000493# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
494# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
495 bnu target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000496# FIXME: bnua 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000497# FIXME: bnua target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000498# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
499 bnulr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000500# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
501 bnulr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000502# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
503 bnuctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000504# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
505 bnuctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000506# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
507# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
508 bnul 2, target
509# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
510# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
511 bnul target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000512# FIXME: bnula 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000513# FIXME: bnula target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000514# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
515 bnulrl 2
516# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
517 bnulrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000518# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
519 bnuctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000520# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
521 bnuctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000522
523# FIXME: Condition register logical mnemonics
524
525# FIXME: Subtract mnemonics
526
527# Compare mnemonics
528
529# CHECK: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80]
530 cmpdi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000531# CHECK: cmpdi 0, 3, 128 # encoding: [0x2c,0x23,0x00,0x80]
532 cmpdi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000533# CHECK: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00]
534 cmpd 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000535# CHECK: cmpd 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x00]
536 cmpd 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000537# CHECK: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80]
538 cmpldi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000539# CHECK: cmpldi 0, 3, 128 # encoding: [0x28,0x23,0x00,0x80]
540 cmpldi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000541# CHECK: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40]
542 cmpld 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000543# CHECK: cmpld 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x40]
544 cmpld 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000545
546# CHECK: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80]
547 cmpwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000548# CHECK: cmpwi 0, 3, 128 # encoding: [0x2c,0x03,0x00,0x80]
549 cmpwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000550# CHECK: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00]
551 cmpw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000552# CHECK: cmpw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x00]
553 cmpw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000554# CHECK: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80]
555 cmplwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000556# CHECK: cmplwi 0, 3, 128 # encoding: [0x28,0x03,0x00,0x80]
557 cmplwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000558# CHECK: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40]
559 cmplw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000560# CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40]
561 cmplw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000562
563# FIXME: Trap mnemonics
564
565# Rotate and shift mnemonics
566
567# FIXME: extldi 2, 3, 4, 5
568# FIXME: extrdi 2, 3, 4, 5
569# FIXME: insrdi 2, 3, 4, 5
570# FIXME: rotldi 2, 3, 4
571# FIXME: rotrdi 2, 3, 4
572# FIXME: rotld 2, 3, 4
573# CHECK: sldi 2, 3, 4 # encoding: [0x78,0x62,0x26,0xe4]
574 sldi 2, 3, 4
575# CHECK: rldicl 2, 3, 60, 4 # encoding: [0x78,0x62,0xe1,0x02]
576 srdi 2, 3, 4
577# FIXME: clrldi 2, 3, 4
578# FIXME: clrrdi 2, 3, 4
579# FIXME: clrlsldi 2, 3, 4, 5
580
581# FIXME: extlwi 2, 3, 4, 5
582# FIXME: extrwi 2, 3, 4, 5
583# FIXME: inslwi 2, 3, 4, 5
584# FIXME: insrwi 2, 3, 4, 5
585# FIXME: rotlwi 2, 3, 4
586# FIXME: rotrwi 2, 3, 4
587# FIXME: rotlw 2, 3, 4
588# CHECK: slwi 2, 3, 4 # encoding: [0x54,0x62,0x20,0x36]
589 slwi 2, 3, 4
590# CHECK: srwi 2, 3, 4 # encoding: [0x54,0x62,0xe1,0x3e]
591 srwi 2, 3, 4
592# FIXME: clrlwi 2, 3, 4
593# FIXME: clrrwi 2, 3, 4
594# FIXME: clrlslwi 2, 3, 4, 5
595
596# Move to/from special purpose register mnemonics
597
598# FIXME: mtxer 2
599# FIXME: mfxer 2
600# CHECK: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6]
601 mtlr 2
602# CHECK: mflr 2 # encoding: [0x7c,0x48,0x02,0xa6]
603 mflr 2
604# CHECK: mtctr 2 # encoding: [0x7c,0x49,0x03,0xa6]
605 mtctr 2
606# CHECK: mfctr 2 # encoding: [0x7c,0x49,0x02,0xa6]
607 mfctr 2
608
609# Miscellaneous mnemonics
610
611# CHECK: nop # encoding: [0x60,0x00,0x00,0x00]
612 nop
613# FIXME: xnop
614# CHECK: li 2, 128 # encoding: [0x38,0x40,0x00,0x80]
615 li 2, 128
616# CHECK: lis 2, 128 # encoding: [0x3c,0x40,0x00,0x80]
617 lis 2, 128
618# FIXME: la 2, 128(4)
619# CHECK: mr 2, 3 # encoding: [0x7c,0x62,0x1b,0x78]
620 mr 2, 3
621# FIXME: not 2, 3
622