This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb/binutils-2_25-branch] Add hwsync extended mnemonic.
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 10 Jul 2015 10:42:35 -0000
- Subject: [binutils-gdb/binutils-2_25-branch] Add hwsync extended mnemonic.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=21d697be19adab1b6df7090f05c629b0003adfa4
commit 21d697be19adab1b6df7090f05c629b0003adfa4
Author: Peter Bergner <bergner@vnet.ibm.com>
Date: Thu Jun 4 20:27:03 2015 -0500
Add hwsync extended mnemonic.
This commit adds a new extended menmonic for "sync 0" (same as "sync").
The ISA documentation doesn't explicitly mention hwsync as an extended
mnemonic (yet), but it does mention "heavyweight sync" and "hwsync" as
the operation that gets performed when the sync's L field is 0.
This is only enabled for POWER4 and later.
opcodes/
* ppc-opc.c: (powerpc_opcodes) <hwsync>: New extended mnemonic.
gas/testsuite/
* gas/ppc/a2.d: Fixup test case due to new extended mnemonic.
* gas/ppc/power4.s <hwsync, lwsync, ptesync, sync>: Add tests.
* gas/ppc/power4.d: Likewise.
Diff:
---
gas/testsuite/ChangeLog | 8 ++++++++
gas/testsuite/gas/ppc/a2.d | 6 +++---
gas/testsuite/gas/ppc/power4.d | 9 ++++++++-
gas/testsuite/gas/ppc/power4.s | 7 +++++++
opcodes/ChangeLog | 3 +++
opcodes/ppc-opc.c | 1 +
6 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 173630b..3ebb81b 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2015-07-10 Alan Modra <amodra@gmail.com>
+
+ Apply from master
+ 2015-06-04 Peter Bergner <bergner@vnet.ibm.com>
+ * gas/ppc/a2.d: Fixup test case due to new extended mnemonic.
+ * gas/ppc/power4.s <hwsync, lwsync, ptesync, sync>: Add tests.
+ * gas/ppc/power4.d: Likewise.
+
2015-06-19 Nick Clifton <nickc@redhat.com>
PR gas/18481
diff --git a/gas/testsuite/gas/ppc/a2.d b/gas/testsuite/gas/ppc/a2.d
index 700c665..aa05cbc 100644
--- a/gas/testsuite/gas/ppc/a2.d
+++ b/gas/testsuite/gas/ppc/a2.d
@@ -544,9 +544,9 @@ Disassembly of section \.text:
810: (7e 95 01 90|90 01 95 7e) subfze r20,r21
814: (7e 95 05 91|91 05 95 7e) subfzeo\. r20,r21
818: (7e 95 05 90|90 05 95 7e) subfzeo r20,r21
- 81c: (7c 00 04 ac|ac 04 00 7c) sync
- 820: (7c 00 04 ac|ac 04 00 7c) sync
- 824: (7c 00 04 ac|ac 04 00 7c) sync
+ 81c: (7c 00 04 ac|ac 04 00 7c) hwsync
+ 820: (7c 00 04 ac|ac 04 00 7c) hwsync
+ 824: (7c 00 04 ac|ac 04 00 7c) hwsync
828: (7c 20 04 ac|ac 04 20 7c) lwsync
82c: (7c aa 58 88|88 58 aa 7c) tdlge r10,r11
830: (08 aa 00 64|64 00 aa 08) tdlgei r10,100
diff --git a/gas/testsuite/gas/ppc/power4.d b/gas/testsuite/gas/ppc/power4.d
index cd71245..8a09c05 100644
--- a/gas/testsuite/gas/ppc/power4.d
+++ b/gas/testsuite/gas/ppc/power4.d
@@ -10,7 +10,7 @@ start address 0x0+
Sections:
Idx Name +Size +VMA +LMA +File off +Algn
- +0 \.text +0+cc +0+ +0+ +.*
+ +0 \.text +0+e8 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
+1 \.data +0+20 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, DATA
@@ -99,3 +99,10 @@ Disassembly of section \.text:
.*: (f8 05 00 12|12 00 05 f8) stq r0,16\(r5\)
.*: (f8 45 00 12|12 00 45 f8) stq r2,16\(r5\)
.*: (7c 00 03 e4|e4 03 00 7c) slbia
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 20 04 ac|ac 04 20 7c) lwsync
+.*: (7c 20 04 ac|ac 04 20 7c) lwsync
+.*: (7c 40 04 ac|ac 04 40 7c) ptesync
+.*: (7c 40 04 ac|ac 04 40 7c) ptesync
diff --git a/gas/testsuite/gas/ppc/power4.s b/gas/testsuite/gas/ppc/power4.s
index 49423a1..583284c 100644
--- a/gas/testsuite/gas/ppc/power4.s
+++ b/gas/testsuite/gas/ppc/power4.s
@@ -72,6 +72,13 @@ dsym1:
stq 0,16(5)
stq 2,16(5)
slbia
+ hwsync
+ sync
+ sync 0
+ lwsync
+ sync 1
+ ptesync
+ sync 2
.section ".data"
usym0: .llong 0xcafebabe
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 0cc7f54..93730c3 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,6 +1,9 @@
2015-07-10 Alan Modra <amodra@gmail.com>
Apply from master
+ 2015-06-04 Peter Bergner <bergner@vnet.ibm.com>
+ * ppc-opc.c: (powerpc_opcodes) <hwsync>: New extended mnemonic.
+
2015-03-25 Anton Blanchard <anton@samba.org>
* ppc-dis.c (disassemble_init_powerpc): Only initialise
powerpc_opcd_indices and vle_opcd_indices once.
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index adddf56..5bcaad4 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -5465,6 +5465,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"lswi", X(31,597), X_MASK, PPCCOM|PPCVLE, E500|E500MC, {RT, RAX, NBI}},
{"lsi", X(31,597), X_MASK, PWRCOM, PPCNONE, {RT, RA0, NB}},
+{"hwsync", XSYNC(31,598,0), 0xffffffff, POWER4, BOOKE|PPC476, {0}},
{"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, E500, {0}},
{"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, PPCNONE, {0}},
{"sync", X(31,598), XSYNCLE_MASK,E6500, PPCNONE, {LS, ESYNC}},