aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2019-04-04 09:00:29 -0500
committerPeter Bergner <bergner@vnet.ibm.com>2019-04-04 09:00:29 -0500
commitaae9718e4d4e8d01dcee22684e82b000203d3e52 (patch)
tree3182a7d06f4cb16b7abefba52172d37ec41e0e4c /gas
parente9f8e3f109d57c119eaaa1e56378926f7f20863f (diff)
downloadgdb-aae9718e4d4e8d01dcee22684e82b000203d3e52.zip
gdb-aae9718e4d4e8d01dcee22684e82b000203d3e52.tar.gz
gdb-aae9718e4d4e8d01dcee22684e82b000203d3e52.tar.bz2
Add extended mnemonics for bctar. Fix setting of 'at' branch hints.
opcodes/ PR gas/24349 * ppc-opc.c (valid_bo_pre_v2): Add comments. (valid_bo_post_v2): Add support for 'at' branch hints. (insert_bo): Only error on branch on ctr. (get_bo_hint_mask): New function. (insert_boe): Add new 'branch_taken' formal argument. Add support for inserting 'at' branch hints. (extract_boe): Add new 'branch_taken' formal argument. Add support for extracting 'at' branch hints. (insert_bom, extract_bom, insert_bop, extract_bop): New functions. (BOE): Delete operand. (BOM, BOP): New operands. (RM): Update value. (XLYLK, XLYLK_MASK, XLYBB_MASK): Delete. (powerpc_opcodes) <bc-, bcl-, bca-, bcla-, bclr-, bclrl-, bcctr-, bcctrl-, bctar-, bctarl->: Replace BOE with BOM. (powerpc_opcodes) <bc+, bcl+, bca+, bcla+, bclr+, bclrl+, bcctr+, bcctrl+, bctar+, bctarl+>: Replace BOE with BOP. <bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-, bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-, buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+, bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar, bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar, bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+, bttarl+>: New extended mnemonics. gas/ PR gas/24349 * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-, bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-, buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+, bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar, bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar, bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+, bttarl+): Add tests of extended mnemonics. * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests to expect new extended mnemonics. * testsuite/gas/ppc/a2.s: <bc, bc-, bc+, bcl, bcl-, bcl+>: Update test to not use illegal BO value. Use a more convenient BI value. * testsuite/gas/ppc/a2.d: Update tests for new expect output.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog25
-rw-r--r--gas/testsuite/gas/ppc/a2.d29
-rw-r--r--gas/testsuite/gas/ppc/a2.s12
-rw-r--r--gas/testsuite/gas/ppc/power8.d126
-rw-r--r--gas/testsuite/gas/ppc/power8.s118
5 files changed, 286 insertions, 24 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b91da2a..3778ef9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,28 @@
+2019-04-04 Peter Bergner <bergner@linux.ibm.com>
+
+ PR gas/24349
+ * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl,
+ btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-,
+ bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl,
+ bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar,
+ bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-,
+ bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-,
+ bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+,
+ bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+,
+ bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar,
+ beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
+ bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
+ buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
+ bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
+ bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
+ bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
+ bttarl+): Add tests of extended mnemonics.
+ * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests
+ to expect new extended mnemonics.
+ * testsuite/gas/ppc/a2.s: <bc, bc-, bc+, bcl, bcl-, bcl+>: Update test
+ to not use illegal BO value. Use a more convenient BI value.
+ * testsuite/gas/ppc/a2.d: Update tests for new expect output.
+
2019-04-03 Max Filippov <jcmvbkbc@gmail.com>
* config/tc-xtensa.c (convert_frag_immed): Drop
diff --git a/gas/testsuite/gas/ppc/a2.d b/gas/testsuite/gas/ppc/a2.d
index 3e3ea2c..5899edb 100644
--- a/gas/testsuite/gas/ppc/a2.d
+++ b/gas/testsuite/gas/ppc/a2.d
@@ -46,11 +46,11 @@ Disassembly of section \.text:
88: (00 00 02 00|00 02 00 00) attn
8c: (48 00 00 02|02 00 00 48) ba 0 <start>
8c: R_PPC(|64)_ADDR24 label_abs
- 90: (40 01 00 00|00 00 01 40) bdnzf gt,90 <start\+0x90>
+ 90: (40 8a 00 00|00 00 8a 40) bne cr2,90 <start\+0x90>
90: R_PPC(|64)_REL14 foo
- 94: (40 01 00 00|00 00 01 40) bdnzf gt,94 <start\+0x94>
+ 94: (40 ca 00 00|00 00 ca 40) bne- cr2,94 <start\+0x94>
94: R_PPC(|64)_REL14 foo
- 98: (40 01 00 00|00 00 01 40) bdnzf gt,98 <start\+0x98>
+ 98: (40 ea 00 00|00 00 ea 40) bne\+ cr2,98 <start\+0x98>
98: R_PPC(|64)_REL14 foo
9c: (40 85 00 02|02 00 85 40) blea cr1,0 <start>
9c: R_PPC(|64)_ADDR14 foo_abs
@@ -59,16 +59,16 @@ Disassembly of section \.text:
a4: (40 e5 00 02|02 00 e5 40) blea\+ cr1,0 <start>
a4: R_PPC(|64)_ADDR14 foo_abs
a8: (4c 86 0c 20|20 0c 86 4c) bcctr 4,4\*cr1\+eq,1
- ac: (4c 86 04 20|20 04 86 4c) bnectr cr1
- b0: (4c a6 04 20|20 04 a6 4c) bcctr\+ 4,4\*cr1\+eq
+ ac: (4c c6 04 20|20 04 c6 4c) bnectr- cr1
+ b0: (4c e6 04 20|20 04 e6 4c) bnectr\+ cr1
b4: (4c 86 0c 21|21 0c 86 4c) bcctrl 4,4\*cr1\+eq,1
- b8: (4c 86 04 21|21 04 86 4c) bnectrl cr1
- bc: (4c a6 04 21|21 04 a6 4c) bcctrl\+ 4,4\*cr1\+eq
- c0: (40 01 00 01|01 00 01 40) bdnzfl gt,c0 <start\+0xc0>
+ b8: (4c c6 04 21|21 04 c6 4c) bnectrl- cr1
+ bc: (4c e6 04 21|21 04 e6 4c) bnectrl\+ cr1
+ c0: (40 8a 00 01|01 00 8a 40) bnel cr2,c0 <start\+0xc0>
c0: R_PPC(|64)_REL14 foo
- c4: (40 01 00 01|01 00 01 40) bdnzfl gt,c4 <start\+0xc4>
+ c4: (40 ca 00 01|01 00 ca 40) bnel- cr2,c4 <start\+0xc4>
c4: R_PPC(|64)_REL14 foo
- c8: (40 01 00 01|01 00 01 40) bdnzfl gt,c8 <start\+0xc8>
+ c8: (40 ea 00 01|01 00 ea 40) bnel\+ cr2,c8 <start\+0xc8>
c8: R_PPC(|64)_REL14 foo
cc: (40 85 00 03|03 00 85 40) blela cr1,0 <start>
cc: R_PPC(|64)_ADDR14 foo_abs
@@ -77,11 +77,11 @@ Disassembly of section \.text:
d4: (40 e5 00 03|03 00 e5 40) blela\+ cr1,0 <start>
d4: R_PPC(|64)_ADDR14 foo_abs
d8: (4c 86 08 20|20 08 86 4c) bclr 4,4\*cr1\+eq,1
- dc: (4c 86 00 20|20 00 86 4c) bnelr cr1
- e0: (4c a6 00 20|20 00 a6 4c) bclr\+ 4,4\*cr1\+eq
+ dc: (4c c6 00 20|20 00 c6 4c) bnelr- cr1
+ e0: (4c e6 00 20|20 00 e6 4c) bnelr\+ cr1
e4: (4c 86 08 21|21 08 86 4c) bclrl 4,4\*cr1\+eq,1
- e8: (4c 86 00 21|21 00 86 4c) bnelrl cr1
- ec: (4c a6 00 21|21 00 a6 4c) bclrl\+ 4,4\*cr1\+eq
+ e8: (4c c6 00 21|21 00 c6 4c) bnelrl- cr1
+ ec: (4c e6 00 21|21 00 e6 4c) bnelrl\+ cr1
f0: (48 00 00 00|00 00 00 48) b f0 <start\+0xf0>
f0: R_PPC(|64)_REL24 label
f4: (48 00 00 03|03 00 00 48) bla 0 <start>
@@ -582,3 +582,4 @@ Disassembly of section \.text:
8a8: (7d 6a 62 78|78 62 6a 7d) xor r10,r11,r12
8ac: (69 6a 10 00|00 10 6a 69) xori r10,r11,4096
8b0: (6d 6a 10 00|00 10 6a 6d) xoris r10,r11,4096
+#pass
diff --git a/gas/testsuite/gas/ppc/a2.s b/gas/testsuite/gas/ppc/a2.s
index ecb8668..6893ae8 100644
--- a/gas/testsuite/gas/ppc/a2.s
+++ b/gas/testsuite/gas/ppc/a2.s
@@ -36,9 +36,9 @@ start:
andis. 4,5,6
attn
ba label_abs
- bc 0,1,foo
- bc- 0,1,foo
- bc+ 0,1,foo
+ bc 4,10,foo
+ bc- 4,10,foo
+ bc+ 4,10,foo
bca 4,5,foo_abs
bca- 4,5,foo_abs
bca+ 4,5,foo_abs
@@ -48,9 +48,9 @@ start:
bcctrl 4,6,1
bcctrl- 4,6
bcctrl+ 4,6
- bcl 0,1,foo
- bcl- 0,1,foo
- bcl+ 0,1,foo
+ bcl 4,10,foo
+ bcl- 4,10,foo
+ bcl+ 4,10,foo
bcla 4,5,foo_abs
bcla- 4,5,foo_abs
bcla+ 4,5,foo_abs
diff --git a/gas/testsuite/gas/ppc/power8.d b/gas/testsuite/gas/ppc/power8.d
index 5c97ab9..77d3681 100644
--- a/gas/testsuite/gas/ppc/power8.d
+++ b/gas/testsuite/gas/ppc/power8.d
@@ -30,10 +30,10 @@ Disassembly of section \.text:
50: (4c 00 01 24|24 01 00 4c) rfebb 0
54: (4c 00 09 24|24 09 00 4c) rfebb
58: (4c 00 09 24|24 09 00 4c) rfebb
- 5c: (4d 95 04 60|60 04 95 4d) bctar- 12,4\*cr5\+gt
- 60: (4c 87 04 61|61 04 87 4c) bctarl- 4,4\*cr1\+so
- 64: (4d ac 04 60|60 04 ac 4d) bctar\+ 12,4\*cr3\+lt
- 68: (4c a2 04 61|61 04 a2 4c) bctarl\+ 4,eq
+ 5c: (4d d5 04 60|60 04 d5 4d) bgttar- cr5
+ 60: (4c c7 04 61|61 04 c7 4c) bnstarl- cr1
+ 64: (4d ec 04 60|60 04 ec 4d) blttar\+ cr3
+ 68: (4c e2 04 61|61 04 e2 4c) bnetarl\+
6c: (4c 88 0c 60|60 0c 88 4c) bctar 4,4\*cr2\+lt,1
70: (4c 87 14 61|61 14 87 4c) bctarl 4,4\*cr1\+so,2
74: (7c 00 00 3c|3c 00 00 7c) waitasec
@@ -192,4 +192,122 @@ Disassembly of section \.text:
.*: (7d 81 49 2d|2d 49 81 7d) stwcx\. r12,r1,r9
.*: (7d a0 51 ad|ad 51 a0 7d) stdcx\. r13,0,r10
.*: (7d a1 51 ad|ad 51 a1 7d) stdcx\. r13,r1,r10
+.*: (4e 80 04 60|60 04 80 4e) btar
+.*: (4e 80 04 60|60 04 80 4e) btar
+.*: (4e 00 04 60|60 04 00 4e) bdnztar
+.*: (4e 00 04 61|61 04 00 4e) bdnztarl
+.*: (4e 40 04 60|60 04 40 4e) bdztar
+.*: (4e 40 04 61|61 04 40 4e) bdztarl
+.*: (4e 80 04 60|60 04 80 4e) btar
+.*: (4e 80 04 61|61 04 80 4e) btarl
+.*: (4f 00 04 60|60 04 00 4f) bdnztar-
+.*: (4f 00 04 61|61 04 00 4f) bdnztarl-
+.*: (4f 20 04 60|60 04 20 4f) bdnztar\+
+.*: (4f 20 04 61|61 04 20 4f) bdnztarl\+
+.*: (4f 40 04 60|60 04 40 4f) bdztar-
+.*: (4f 40 04 61|61 04 40 4f) bdztarl-
+.*: (4f 60 04 60|60 04 60 4f) bdztar\+
+.*: (4f 60 04 61|61 04 60 4f) bdztarl\+
+.*: (4c 90 04 60|60 04 90 4c) bgetar cr4
+.*: (4c 90 04 60|60 04 90 4c) bgetar cr4
+.*: (4c 90 04 61|61 04 90 4c) bgetarl cr4
+.*: (4c 90 04 61|61 04 90 4c) bgetarl cr4
+.*: (4c 91 04 60|60 04 91 4c) bletar cr4
+.*: (4c 91 04 60|60 04 91 4c) bletar cr4
+.*: (4c 91 04 61|61 04 91 4c) bletarl cr4
+.*: (4c 91 04 61|61 04 91 4c) bletarl cr4
+.*: (4c 92 04 60|60 04 92 4c) bnetar cr4
+.*: (4c 92 04 61|61 04 92 4c) bnetarl cr4
+.*: (4c 93 04 60|60 04 93 4c) bnstar cr4
+.*: (4c 93 04 60|60 04 93 4c) bnstar cr4
+.*: (4c 93 04 61|61 04 93 4c) bnstarl cr4
+.*: (4c 93 04 61|61 04 93 4c) bnstarl cr4
+.*: (4c d0 04 60|60 04 d0 4c) bgetar- cr4
+.*: (4c d0 04 60|60 04 d0 4c) bgetar- cr4
+.*: (4c d0 04 61|61 04 d0 4c) bgetarl- cr4
+.*: (4c d0 04 61|61 04 d0 4c) bgetarl- cr4
+.*: (4c d1 04 60|60 04 d1 4c) bletar- cr4
+.*: (4c d1 04 60|60 04 d1 4c) bletar- cr4
+.*: (4c d1 04 61|61 04 d1 4c) bletarl- cr4
+.*: (4c d1 04 61|61 04 d1 4c) bletarl- cr4
+.*: (4c d2 04 60|60 04 d2 4c) bnetar- cr4
+.*: (4c d2 04 61|61 04 d2 4c) bnetarl- cr4
+.*: (4c d3 04 60|60 04 d3 4c) bnstar- cr4
+.*: (4c d3 04 60|60 04 d3 4c) bnstar- cr4
+.*: (4c d3 04 61|61 04 d3 4c) bnstarl- cr4
+.*: (4c d3 04 61|61 04 d3 4c) bnstarl- cr4
+.*: (4c f0 04 60|60 04 f0 4c) bgetar\+ cr4
+.*: (4c f0 04 60|60 04 f0 4c) bgetar\+ cr4
+.*: (4c f0 04 61|61 04 f0 4c) bgetarl\+ cr4
+.*: (4c f0 04 61|61 04 f0 4c) bgetarl\+ cr4
+.*: (4c f1 04 60|60 04 f1 4c) bletar\+ cr4
+.*: (4c f1 04 60|60 04 f1 4c) bletar\+ cr4
+.*: (4c f1 04 61|61 04 f1 4c) bletarl\+ cr4
+.*: (4c f1 04 61|61 04 f1 4c) bletarl\+ cr4
+.*: (4c f2 04 60|60 04 f2 4c) bnetar\+ cr4
+.*: (4c f2 04 61|61 04 f2 4c) bnetarl\+ cr4
+.*: (4c f3 04 60|60 04 f3 4c) bnstar\+ cr4
+.*: (4c f3 04 60|60 04 f3 4c) bnstar\+ cr4
+.*: (4c f3 04 61|61 04 f3 4c) bnstarl\+ cr4
+.*: (4c f3 04 61|61 04 f3 4c) bnstarl\+ cr4
+.*: (4d 90 04 60|60 04 90 4d) blttar cr4
+.*: (4d 90 04 61|61 04 90 4d) blttarl cr4
+.*: (4d 91 04 60|60 04 91 4d) bgttar cr4
+.*: (4d 91 04 61|61 04 91 4d) bgttarl cr4
+.*: (4d 92 04 60|60 04 92 4d) beqtar cr4
+.*: (4d 92 04 61|61 04 92 4d) beqtarl cr4
+.*: (4d 93 04 60|60 04 93 4d) bsotar cr4
+.*: (4d 93 04 60|60 04 93 4d) bsotar cr4
+.*: (4d 93 04 61|61 04 93 4d) bsotarl cr4
+.*: (4d 93 04 61|61 04 93 4d) bsotarl cr4
+.*: (4d d0 04 60|60 04 d0 4d) blttar- cr4
+.*: (4d d0 04 61|61 04 d0 4d) blttarl- cr4
+.*: (4d d1 04 60|60 04 d1 4d) bgttar- cr4
+.*: (4d d1 04 61|61 04 d1 4d) bgttarl- cr4
+.*: (4d d2 04 60|60 04 d2 4d) beqtar- cr4
+.*: (4d d2 04 61|61 04 d2 4d) beqtarl- cr4
+.*: (4d d3 04 60|60 04 d3 4d) bsotar- cr4
+.*: (4d d3 04 60|60 04 d3 4d) bsotar- cr4
+.*: (4d d3 04 61|61 04 d3 4d) bsotarl- cr4
+.*: (4d d3 04 61|61 04 d3 4d) bsotarl- cr4
+.*: (4d f0 04 60|60 04 f0 4d) blttar\+ cr4
+.*: (4d f0 04 61|61 04 f0 4d) blttarl\+ cr4
+.*: (4d f1 04 60|60 04 f1 4d) bgttar\+ cr4
+.*: (4d f1 04 61|61 04 f1 4d) bgttarl\+ cr4
+.*: (4d f2 04 60|60 04 f2 4d) beqtar\+ cr4
+.*: (4d f2 04 61|61 04 f2 4d) beqtarl\+ cr4
+.*: (4d f3 04 60|60 04 f3 4d) bsotar\+ cr4
+.*: (4d f3 04 60|60 04 f3 4d) bsotar\+ cr4
+.*: (4d f3 04 61|61 04 f3 4d) bsotarl\+ cr4
+.*: (4d f3 04 61|61 04 f3 4d) bsotarl\+ cr4
+.*: (4c 08 04 60|60 04 08 4c) bdnzftar 4\*cr2\+lt
+.*: (4c 08 04 61|61 04 08 4c) bdnzftarl 4\*cr2\+lt
+.*: (4c 48 04 60|60 04 48 4c) bdzftar 4\*cr2\+lt
+.*: (4c 48 04 61|61 04 48 4c) bdzftarl 4\*cr2\+lt
+.*: (4c 88 04 60|60 04 88 4c) bgetar cr2
+.*: (4c 88 04 61|61 04 88 4c) bgetarl cr2
+.*: (4c c8 04 60|60 04 c8 4c) bgetar- cr2
+.*: (4c c8 04 61|61 04 c8 4c) bgetarl- cr2
+.*: (4c e8 04 60|60 04 e8 4c) bgetar\+ cr2
+.*: (4c e8 04 61|61 04 e8 4c) bgetarl\+ cr2
+.*: (4d 08 04 60|60 04 08 4d) bdnzttar 4\*cr2\+lt
+.*: (4d 08 04 61|61 04 08 4d) bdnzttarl 4\*cr2\+lt
+.*: (4d 48 04 60|60 04 48 4d) bdzttar 4\*cr2\+lt
+.*: (4d 48 04 61|61 04 48 4d) bdzttarl 4\*cr2\+lt
+.*: (4d 88 04 60|60 04 88 4d) blttar cr2
+.*: (4d 88 04 61|61 04 88 4d) blttarl cr2
+.*: (4d c8 04 60|60 04 c8 4d) blttar- cr2
+.*: (4d c8 04 61|61 04 c8 4d) blttarl- cr2
+.*: (4d e8 04 60|60 04 e8 4d) blttar\+ cr2
+.*: (4d e8 04 61|61 04 e8 4d) blttarl\+ cr2
+.*: (4d ca 04 60|60 04 ca 4d) beqtar- cr2
+.*: (4d ca 04 61|61 04 ca 4d) beqtarl- cr2
+.*: (4d ea 04 60|60 04 ea 4d) beqtar\+ cr2
+.*: (4d ea 04 61|61 04 ea 4d) beqtarl\+ cr2
+.*: (4d 89 04 60|60 04 89 4d) bgttar cr2
+.*: (4d 89 04 60|60 04 89 4d) bgttar cr2
+.*: (4d 89 1c 60|60 1c 89 4d) bctar 12,4\*cr2\+gt,3
+.*: (4d 89 04 61|61 04 89 4d) bgttarl cr2
+.*: (4d 89 04 61|61 04 89 4d) bgttarl cr2
+.*: (4d 89 1c 61|61 1c 89 4d) bctarl 12,4\*cr2\+gt,3
#pass
diff --git a/gas/testsuite/gas/ppc/power8.s b/gas/testsuite/gas/ppc/power8.s
index 857bda2..beb1c5e 100644
--- a/gas/testsuite/gas/ppc/power8.s
+++ b/gas/testsuite/gas/ppc/power8.s
@@ -184,3 +184,121 @@ power8:
stwcx. 12,1,9
stdcx. 13,0,10
stdcx. 13,1,10
+ bctar 0b10100,lt
+ btar
+ bdnztar
+ bdnztarl
+ bdztar
+ bdztarl
+ btar
+ btarl
+ bdnztar-
+ bdnztarl-
+ bdnztar+
+ bdnztarl+
+ bdztar-
+ bdztarl-
+ bdztar+
+ bdztarl+
+ bgetar cr4
+ bnltar cr4
+ bgetarl cr4
+ bnltarl cr4
+ bletar cr4
+ bngtar cr4
+ bletarl cr4
+ bngtarl cr4
+ bnetar cr4
+ bnetarl cr4
+ bnstar cr4
+ bnutar cr4
+ bnstarl cr4
+ bnutarl cr4
+ bgetar- cr4
+ bnltar- cr4
+ bgetarl- cr4
+ bnltarl- cr4
+ bletar- cr4
+ bngtar- cr4
+ bletarl- cr4
+ bngtarl- cr4
+ bnetar- cr4
+ bnetarl- cr4
+ bnstar- cr4
+ bnutar- cr4
+ bnstarl- cr4
+ bnutarl- cr4
+ bgetar+ cr4
+ bnltar+ cr4
+ bgetarl+ cr4
+ bnltarl+ cr4
+ bletar+ cr4
+ bngtar+ cr4
+ bletarl+ cr4
+ bngtarl+ cr4
+ bnetar+ cr4
+ bnetarl+ cr4
+ bnstar+ cr4
+ bnutar+ cr4
+ bnstarl+ cr4
+ bnutarl+ cr4
+ blttar cr4
+ blttarl cr4
+ bgttar cr4
+ bgttarl cr4
+ beqtar cr4
+ beqtarl cr4
+ bsotar cr4
+ buntar cr4
+ bsotarl cr4
+ buntarl cr4
+ blttar- cr4
+ blttarl- cr4
+ bgttar- cr4
+ bgttarl- cr4
+ beqtar- cr4
+ beqtarl- cr4
+ bsotar- cr4
+ buntar- cr4
+ bsotarl- cr4
+ buntarl- cr4
+ blttar+ cr4
+ blttarl+ cr4
+ bgttar+ cr4
+ bgttarl+ cr4
+ beqtar+ cr4
+ beqtarl+ cr4
+ bsotar+ cr4
+ buntar+ cr4
+ bsotarl+ cr4
+ buntarl+ cr4
+ bdnzftar 4*cr2+lt
+ bdnzftarl 4*cr2+lt
+ bdzftar 4*cr2+lt
+ bdzftarl 4*cr2+lt
+ bftar 4*cr2+lt
+ bftarl 4*cr2+lt
+ bftar- 4*cr2+lt
+ bftarl- 4*cr2+lt
+ bftar+ 4*cr2+lt
+ bftarl+ 4*cr2+lt
+ bdnzttar 4*cr2+lt
+ bdnzttarl 4*cr2+lt
+ bdzttar 4*cr2+lt
+ bdzttarl 4*cr2+lt
+ bttar 4*cr2+lt
+ bttarl 4*cr2+lt
+ bttar- 4*cr2+lt
+ bttarl- 4*cr2+lt
+ bttar+ 4*cr2+lt
+ bttarl+ 4*cr2+lt
+ bctar- 0b01100,4*cr2+eq
+ bctarl- 0b01100,4*cr2+eq
+ bctar+ 0b01100,4*cr2+eq
+ bctarl+ 0b01100,4*cr2+eq
+ bctar 0b01100,4*cr2+gt
+ bctar 0b01100,4*cr2+gt,0
+ bctar 0b01100,4*cr2+gt,3
+ bctarl 0b01100,4*cr2+gt
+ bctarl 0b01100,4*cr2+gt,0
+ bctarl 0b01100,4*cr2+gt,3