blob: 31525c777193cce956efe384cca42c68ef634adb [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
57# FIXME: bdnzl target
58# FIXME: bdnzla target
59# FIXME: bdnzlrl
60
61# FIXME: bdnzt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000062# FIXME: bdnzt target
Ulrich Weigandd8394902013-05-03 19:50:27 +000063# FIXME: bdnzta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000064# FIXME: bdnzta target
Ulrich Weigandd8394902013-05-03 19:50:27 +000065# FIXME: bdnztlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000066# FIXME: bdnztlr
Ulrich Weigandd8394902013-05-03 19:50:27 +000067# FIXME: bdnztl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000068# FIXME: bdnztl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000069# FIXME: bdnztla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000070# FIXME: bdnztla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000071# FIXME: bdnztlrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000072# FIXME: bdnztlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000073# FIXME: bdnzf 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000074# FIXME: bdnzf target
Ulrich Weigandd8394902013-05-03 19:50:27 +000075# FIXME: bdnzfa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000076# FIXME: bdnzfa target
Ulrich Weigandd8394902013-05-03 19:50:27 +000077# FIXME: bdnzflr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000078# FIXME: bdnzflr
Ulrich Weigandd8394902013-05-03 19:50:27 +000079# FIXME: bdnzfl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000080# FIXME: bdnzfl target
Ulrich Weigandd8394902013-05-03 19:50:27 +000081# FIXME: bdnzfla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000082# FIXME: bdnzfla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000083# FIXME: bdnzflrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000084# FIXME: bdnzflrl
Ulrich Weigandd8394902013-05-03 19:50:27 +000085
86# CHECK: bdz target # encoding: [0x42,0x40,A,0bAAAAAA00]
87# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
88 bdz target
89# FIXME: bdza target
90# CHECK: bdzlr # encoding: [0x4e,0x40,0x00,0x20]
91 bdzlr
92# FIXME: bdzl target
93# FIXME: bdzla target
Ulrich Weigandd8394902013-05-03 19:50:27 +000094# FIXME: bdzlrl
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000095
Ulrich Weigandd8394902013-05-03 19:50:27 +000096# FIXME: bdzt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000097# FIXME: bdzt target
Ulrich Weigandd8394902013-05-03 19:50:27 +000098# FIXME: bdzta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +000099# FIXME: bdzta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000100# FIXME: bdztlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000101# FIXME: bdztlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000102# FIXME: bdztl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000103# FIXME: bdztl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000104# FIXME: bdztla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000105# FIXME: bdztla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000106# FIXME: bdztlrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000107# FIXME: bdztlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000108# FIXME: bdzf 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000109# FIXME: bdzf target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000110# FIXME: bdzfa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000111# FIXME: bdzfa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000112# FIXME: bdzflr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000113# FIXME: bdzflr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000114# FIXME: bdzfl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000115# FIXME: bdzfl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000116# FIXME: bdzfla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000117# FIXME: bdzfla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000118# FIXME: bdzflrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000119# FIXME: bdzflrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000120
121# CHECK: blt 2, target # encoding: [0x41,0x88,A,0bAAAAAA00]
122# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
123 blt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000124# CHECK: blt 0, target # encoding: [0x41,0x80,A,0bAAAAAA00]
125# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
126 blt target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000127# FIXME: blta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000128# FIXME: blta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000129# CHECK: bltlr 2 # encoding: [0x4d,0x88,0x00,0x20]
130 bltlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000131# CHECK: bltlr 0 # encoding: [0x4d,0x80,0x00,0x20]
132 bltlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000133# CHECK: bltctr 2 # encoding: [0x4d,0x88,0x04,0x20]
134 bltctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000135# CHECK: bltctr 0 # encoding: [0x4d,0x80,0x04,0x20]
136 bltctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000137# CHECK: bltl 2, target # encoding: [0x41,0x88,A,0bAAAAAA01]
138# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
139 bltl 2, target
140# CHECK: bltl 0, target # encoding: [0x41,0x80,A,0bAAAAAA01]
141# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
142 bltl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000143# FIXME: bltla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000144# FIXME: bltla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000145# CHECK: bltlrl 2 # encoding: [0x4d,0x88,0x00,0x21]
146 bltlrl 2
147# CHECK: bltlrl 0 # encoding: [0x4d,0x80,0x00,0x21]
148 bltlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000149# CHECK: bltctrl 2 # encoding: [0x4d,0x88,0x04,0x21]
150 bltctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000151# CHECK: bltctrl 0 # encoding: [0x4d,0x80,0x04,0x21]
152 bltctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000153
154# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
155# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
156 ble 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000157# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
158# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
159 ble target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000160# FIXME: blea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000161# FIXME: blea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000162# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
163 blelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000164# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
165 blelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000166# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
167 blectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000168# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
169 blectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000170# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
171# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
172 blel 2, target
173# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
174# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
175 blel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000176# FIXME: blela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000177# FIXME: blela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000178# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
179 blelrl 2
180# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
181 blelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000182# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
183 blectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000184# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
185 blectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000186
187# CHECK: beq 2, target # encoding: [0x41,0x8a,A,0bAAAAAA00]
188# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
189 beq 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000190# CHECK: beq 0, target # encoding: [0x41,0x82,A,0bAAAAAA00]
191# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
192 beq target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000193# FIXME: beqa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000194# FIXME: beqa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000195# CHECK: beqlr 2 # encoding: [0x4d,0x8a,0x00,0x20]
196 beqlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000197# CHECK: beqlr 0 # encoding: [0x4d,0x82,0x00,0x20]
198 beqlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000199# CHECK: beqctr 2 # encoding: [0x4d,0x8a,0x04,0x20]
200 beqctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000201# CHECK: beqctr 0 # encoding: [0x4d,0x82,0x04,0x20]
202 beqctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000203# CHECK: beql 2, target # encoding: [0x41,0x8a,A,0bAAAAAA01]
204# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
205 beql 2, target
206# CHECK: beql 0, target # encoding: [0x41,0x82,A,0bAAAAAA01]
207# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
208 beql target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000209# FIXME: beqla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000210# FIXME: beqla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000211# CHECK: beqlrl 2 # encoding: [0x4d,0x8a,0x00,0x21]
212 beqlrl 2
213# CHECK: beqlrl 0 # encoding: [0x4d,0x82,0x00,0x21]
214 beqlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000215# CHECK: beqctrl 2 # encoding: [0x4d,0x8a,0x04,0x21]
216 beqctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000217# CHECK: beqctrl 0 # encoding: [0x4d,0x82,0x04,0x21]
218 beqctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000219
220# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
221# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
222 bge 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000223# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
224# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
225 bge target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000226# FIXME: bgea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000227# FIXME: bgea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000228# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
229 bgelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000230# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
231 bgelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000232# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
233 bgectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000234# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
235 bgectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000236# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
237# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
238 bgel 2, target
239# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
240# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
241 bgel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000242# FIXME: bgela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000243# FIXME: bgela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000244# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
245 bgelrl 2
246# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
247 bgelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000248# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
249 bgectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000250# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
251 bgectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000252
253# CHECK: bgt 2, target # encoding: [0x41,0x89,A,0bAAAAAA00]
254# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
255 bgt 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000256# CHECK: bgt 0, target # encoding: [0x41,0x81,A,0bAAAAAA00]
257# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
258 bgt target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000259# FIXME: bgta 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000260# FIXME: bgta target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000261# CHECK: bgtlr 2 # encoding: [0x4d,0x89,0x00,0x20]
262 bgtlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000263# CHECK: bgtlr 0 # encoding: [0x4d,0x81,0x00,0x20]
264 bgtlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000265# CHECK: bgtctr 2 # encoding: [0x4d,0x89,0x04,0x20]
266 bgtctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000267# CHECK: bgtctr 0 # encoding: [0x4d,0x81,0x04,0x20]
268 bgtctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000269# CHECK: bgtl 2, target # encoding: [0x41,0x89,A,0bAAAAAA01]
270# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
271 bgtl 2, target
272# CHECK: bgtl 0, target # encoding: [0x41,0x81,A,0bAAAAAA01]
273# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
274 bgtl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000275# FIXME: bgtla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000276# FIXME: bgtla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000277# CHECK: bgtlrl 2 # encoding: [0x4d,0x89,0x00,0x21]
278 bgtlrl 2
279# CHECK: bgtlrl 0 # encoding: [0x4d,0x81,0x00,0x21]
280 bgtlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000281# CHECK: bgtctrl 2 # encoding: [0x4d,0x89,0x04,0x21]
282 bgtctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000283# CHECK: bgtctrl 0 # encoding: [0x4d,0x81,0x04,0x21]
284 bgtctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000285
286# CHECK: bge 2, target # encoding: [0x40,0x88,A,0bAAAAAA00]
287# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
288 bnl 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000289# CHECK: bge 0, target # encoding: [0x40,0x80,A,0bAAAAAA00]
290# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
291 bnl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000292# FIXME: bnla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000293# FIXME: bnla target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000294# CHECK: bgelr 2 # encoding: [0x4c,0x88,0x00,0x20]
295 bnllr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000296# CHECK: bgelr 0 # encoding: [0x4c,0x80,0x00,0x20]
297 bnllr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000298# CHECK: bgectr 2 # encoding: [0x4c,0x88,0x04,0x20]
299 bnlctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000300# CHECK: bgectr 0 # encoding: [0x4c,0x80,0x04,0x20]
301 bnlctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000302# CHECK: bgel 2, target # encoding: [0x40,0x88,A,0bAAAAAA01]
303# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
304 bnll 2, target
305# CHECK: bgel 0, target # encoding: [0x40,0x80,A,0bAAAAAA01]
306# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
307 bnll target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000308# FIXME: bnlla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000309# FIXME: bnlla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000310# CHECK: bgelrl 2 # encoding: [0x4c,0x88,0x00,0x21]
311 bnllrl 2
312# CHECK: bgelrl 0 # encoding: [0x4c,0x80,0x00,0x21]
313 bnllrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000314# CHECK: bgectrl 2 # encoding: [0x4c,0x88,0x04,0x21]
315 bnlctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000316# CHECK: bgectrl 0 # encoding: [0x4c,0x80,0x04,0x21]
317 bnlctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000318
319# CHECK: bne 2, target # encoding: [0x40,0x8a,A,0bAAAAAA00]
320# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
321 bne 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000322# CHECK: bne 0, target # encoding: [0x40,0x82,A,0bAAAAAA00]
323# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
324 bne target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000325# FIXME: bnea 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000326# FIXME: bnea target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000327# CHECK: bnelr 2 # encoding: [0x4c,0x8a,0x00,0x20]
328 bnelr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000329# CHECK: bnelr 0 # encoding: [0x4c,0x82,0x00,0x20]
330 bnelr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000331# CHECK: bnectr 2 # encoding: [0x4c,0x8a,0x04,0x20]
332 bnectr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000333# CHECK: bnectr 0 # encoding: [0x4c,0x82,0x04,0x20]
334 bnectr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000335# CHECK: bnel 2, target # encoding: [0x40,0x8a,A,0bAAAAAA01]
336# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
337 bnel 2, target
338# CHECK: bnel 0, target # encoding: [0x40,0x82,A,0bAAAAAA01]
339# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
340 bnel target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000341# FIXME: bnela 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000342# FIXME: bnela target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000343# CHECK: bnelrl 2 # encoding: [0x4c,0x8a,0x00,0x21]
344 bnelrl 2
345# CHECK: bnelrl 0 # encoding: [0x4c,0x82,0x00,0x21]
346 bnelrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000347# CHECK: bnectrl 2 # encoding: [0x4c,0x8a,0x04,0x21]
348 bnectrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000349# CHECK: bnectrl 0 # encoding: [0x4c,0x82,0x04,0x21]
350 bnectrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000351
352# CHECK: ble 2, target # encoding: [0x40,0x89,A,0bAAAAAA00]
353# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
354 bng 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000355# CHECK: ble 0, target # encoding: [0x40,0x81,A,0bAAAAAA00]
356# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
357 bng target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000358# FIXME: bnga 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000359# FIXME: bnga target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000360# CHECK: blelr 2 # encoding: [0x4c,0x89,0x00,0x20]
361 bnglr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000362# CHECK: blelr 0 # encoding: [0x4c,0x81,0x00,0x20]
363 bnglr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000364# CHECK: blectr 2 # encoding: [0x4c,0x89,0x04,0x20]
365 bngctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000366# CHECK: blectr 0 # encoding: [0x4c,0x81,0x04,0x20]
367 bngctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000368# CHECK: blel 2, target # encoding: [0x40,0x89,A,0bAAAAAA01]
369# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
370 bngl 2, target
371# CHECK: blel 0, target # encoding: [0x40,0x81,A,0bAAAAAA01]
372# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
373 bngl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000374# FIXME: bngla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000375# FIXME: bngla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000376# CHECK: blelrl 2 # encoding: [0x4c,0x89,0x00,0x21]
377 bnglrl 2
378# CHECK: blelrl 0 # encoding: [0x4c,0x81,0x00,0x21]
379 bnglrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000380# CHECK: blectrl 2 # encoding: [0x4c,0x89,0x04,0x21]
381 bngctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000382# CHECK: blectrl 0 # encoding: [0x4c,0x81,0x04,0x21]
383 bngctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000384
385# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
386# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
387 bso 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000388# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
389# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
390 bso target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000391# FIXME: bsoa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000392# FIXME: bsoa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000393# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
394 bsolr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000395# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
396 bsolr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000397# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
398 bsoctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000399# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
400 bsoctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000401# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
402# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
403 bsol 2, target
404# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
405# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
406 bsol target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000407# FIXME: bsola 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000408# FIXME: bsola target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000409# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
410 bsolrl 2
411# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
412 bsolrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000413# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
414 bsoctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000415# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
416 bsoctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000417
418# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
419# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
420 bns 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000421# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
422# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
423 bns target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000424# FIXME: bnsa 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000425# FIXME: bnsa target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000426# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
427 bnslr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000428# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
429 bnslr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000430# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
431 bnsctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000432# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
433 bnsctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000434# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
435# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
436 bnsl 2, target
437# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
438# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
439 bnsl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000440# FIXME: bnsla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000441# FIXME: bnsla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000442# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
443 bnslrl 2
444# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
445 bnslrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000446# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
447 bnsctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000448# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
449 bnsctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000450
451# CHECK: bun 2, target # encoding: [0x41,0x8b,A,0bAAAAAA00]
452# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
453 bun 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000454# CHECK: bun 0, target # encoding: [0x41,0x83,A,0bAAAAAA00]
455# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
456 bun target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000457# FIXME: buna 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000458# FIXME: buna target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000459# CHECK: bunlr 2 # encoding: [0x4d,0x8b,0x00,0x20]
460 bunlr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000461# CHECK: bunlr 0 # encoding: [0x4d,0x83,0x00,0x20]
462 bunlr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000463# CHECK: bunctr 2 # encoding: [0x4d,0x8b,0x04,0x20]
464 bunctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000465# CHECK: bunctr 0 # encoding: [0x4d,0x83,0x04,0x20]
466 bunctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000467# CHECK: bunl 2, target # encoding: [0x41,0x8b,A,0bAAAAAA01]
468# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
469 bunl 2, target
470# CHECK: bunl 0, target # encoding: [0x41,0x83,A,0bAAAAAA01]
471# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
472 bunl target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000473# FIXME: bunla 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000474# FIXME: bunla target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000475# CHECK: bunlrl 2 # encoding: [0x4d,0x8b,0x00,0x21]
476 bunlrl 2
477# CHECK: bunlrl 0 # encoding: [0x4d,0x83,0x00,0x21]
478 bunlrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000479# CHECK: bunctrl 2 # encoding: [0x4d,0x8b,0x04,0x21]
480 bunctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000481# CHECK: bunctrl 0 # encoding: [0x4d,0x83,0x04,0x21]
482 bunctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000483
484# CHECK: bnu 2, target # encoding: [0x40,0x8b,A,0bAAAAAA00]
485# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
486 bnu 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000487# CHECK: bnu 0, target # encoding: [0x40,0x83,A,0bAAAAAA00]
488# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
489 bnu target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000490# FIXME: bnua 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000491# FIXME: bnua target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000492# CHECK: bnulr 2 # encoding: [0x4c,0x8b,0x00,0x20]
493 bnulr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000494# CHECK: bnulr 0 # encoding: [0x4c,0x83,0x00,0x20]
495 bnulr
Ulrich Weigandd8394902013-05-03 19:50:27 +0000496# CHECK: bnuctr 2 # encoding: [0x4c,0x8b,0x04,0x20]
497 bnuctr 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000498# CHECK: bnuctr 0 # encoding: [0x4c,0x83,0x04,0x20]
499 bnuctr
Ulrich Weigandd20e91e2013-06-24 11:02:19 +0000500# CHECK: bnul 2, target # encoding: [0x40,0x8b,A,0bAAAAAA01]
501# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
502 bnul 2, target
503# CHECK: bnul 0, target # encoding: [0x40,0x83,A,0bAAAAAA01]
504# CHECK-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
505 bnul target
Ulrich Weigandd8394902013-05-03 19:50:27 +0000506# FIXME: bnula 2, target
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000507# FIXME: bnula target
Ulrich Weigand1847bb82013-06-24 11:01:55 +0000508# CHECK: bnulrl 2 # encoding: [0x4c,0x8b,0x00,0x21]
509 bnulrl 2
510# CHECK: bnulrl 0 # encoding: [0x4c,0x83,0x00,0x21]
511 bnulrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000512# CHECK: bnuctrl 2 # encoding: [0x4c,0x8b,0x04,0x21]
513 bnuctrl 2
Ulrich Weigandaa4a2d72013-06-10 17:19:15 +0000514# CHECK: bnuctrl 0 # encoding: [0x4c,0x83,0x04,0x21]
515 bnuctrl
Ulrich Weigandd8394902013-05-03 19:50:27 +0000516
517# FIXME: Condition register logical mnemonics
518
519# FIXME: Subtract mnemonics
520
521# Compare mnemonics
522
523# CHECK: cmpdi 2, 3, 128 # encoding: [0x2d,0x23,0x00,0x80]
524 cmpdi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000525# CHECK: cmpdi 0, 3, 128 # encoding: [0x2c,0x23,0x00,0x80]
526 cmpdi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000527# CHECK: cmpd 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x00]
528 cmpd 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000529# CHECK: cmpd 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x00]
530 cmpd 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000531# CHECK: cmpldi 2, 3, 128 # encoding: [0x29,0x23,0x00,0x80]
532 cmpldi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000533# CHECK: cmpldi 0, 3, 128 # encoding: [0x28,0x23,0x00,0x80]
534 cmpldi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000535# CHECK: cmpld 2, 3, 4 # encoding: [0x7d,0x23,0x20,0x40]
536 cmpld 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000537# CHECK: cmpld 0, 3, 4 # encoding: [0x7c,0x23,0x20,0x40]
538 cmpld 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000539
540# CHECK: cmpwi 2, 3, 128 # encoding: [0x2d,0x03,0x00,0x80]
541 cmpwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000542# CHECK: cmpwi 0, 3, 128 # encoding: [0x2c,0x03,0x00,0x80]
543 cmpwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000544# CHECK: cmpw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x00]
545 cmpw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000546# CHECK: cmpw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x00]
547 cmpw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000548# CHECK: cmplwi 2, 3, 128 # encoding: [0x29,0x03,0x00,0x80]
549 cmplwi 2, 3, 128
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000550# CHECK: cmplwi 0, 3, 128 # encoding: [0x28,0x03,0x00,0x80]
551 cmplwi 3, 128
Ulrich Weigandd8394902013-05-03 19:50:27 +0000552# CHECK: cmplw 2, 3, 4 # encoding: [0x7d,0x03,0x20,0x40]
553 cmplw 2, 3, 4
Ulrich Weigand865a1ef2013-06-20 16:15:12 +0000554# CHECK: cmplw 0, 3, 4 # encoding: [0x7c,0x03,0x20,0x40]
555 cmplw 3, 4
Ulrich Weigandd8394902013-05-03 19:50:27 +0000556
557# FIXME: Trap mnemonics
558
559# Rotate and shift mnemonics
560
561# FIXME: extldi 2, 3, 4, 5
562# FIXME: extrdi 2, 3, 4, 5
563# FIXME: insrdi 2, 3, 4, 5
564# FIXME: rotldi 2, 3, 4
565# FIXME: rotrdi 2, 3, 4
566# FIXME: rotld 2, 3, 4
567# CHECK: sldi 2, 3, 4 # encoding: [0x78,0x62,0x26,0xe4]
568 sldi 2, 3, 4
569# CHECK: rldicl 2, 3, 60, 4 # encoding: [0x78,0x62,0xe1,0x02]
570 srdi 2, 3, 4
571# FIXME: clrldi 2, 3, 4
572# FIXME: clrrdi 2, 3, 4
573# FIXME: clrlsldi 2, 3, 4, 5
574
575# FIXME: extlwi 2, 3, 4, 5
576# FIXME: extrwi 2, 3, 4, 5
577# FIXME: inslwi 2, 3, 4, 5
578# FIXME: insrwi 2, 3, 4, 5
579# FIXME: rotlwi 2, 3, 4
580# FIXME: rotrwi 2, 3, 4
581# FIXME: rotlw 2, 3, 4
582# CHECK: slwi 2, 3, 4 # encoding: [0x54,0x62,0x20,0x36]
583 slwi 2, 3, 4
584# CHECK: srwi 2, 3, 4 # encoding: [0x54,0x62,0xe1,0x3e]
585 srwi 2, 3, 4
586# FIXME: clrlwi 2, 3, 4
587# FIXME: clrrwi 2, 3, 4
588# FIXME: clrlslwi 2, 3, 4, 5
589
590# Move to/from special purpose register mnemonics
591
592# FIXME: mtxer 2
593# FIXME: mfxer 2
594# CHECK: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6]
595 mtlr 2
596# CHECK: mflr 2 # encoding: [0x7c,0x48,0x02,0xa6]
597 mflr 2
598# CHECK: mtctr 2 # encoding: [0x7c,0x49,0x03,0xa6]
599 mtctr 2
600# CHECK: mfctr 2 # encoding: [0x7c,0x49,0x02,0xa6]
601 mfctr 2
602
603# Miscellaneous mnemonics
604
605# CHECK: nop # encoding: [0x60,0x00,0x00,0x00]
606 nop
607# FIXME: xnop
608# CHECK: li 2, 128 # encoding: [0x38,0x40,0x00,0x80]
609 li 2, 128
610# CHECK: lis 2, 128 # encoding: [0x3c,0x40,0x00,0x80]
611 lis 2, 128
612# FIXME: la 2, 128(4)
613# CHECK: mr 2, 3 # encoding: [0x7c,0x62,0x1b,0x78]
614 mr 2, 3
615# FIXME: not 2, 3
616