public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 2/4] aarch64: Add support for Armv8-R DFB alias
@ 2020-09-07 15:54 Alex Coplan
  0 siblings, 0 replies; only message in thread
From: Alex Coplan @ 2020-09-07 15:54 UTC (permalink / raw)
  To: binutils; +Cc: Richard Earnshaw, Marcus Shawcroft

[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]

This patch adds support for the DFB alias introduced in Armv8-R AArch64.

N.B. this patch does not contain the changes to the regenerated files
opcodes/aarch64-*-2.c: please regenerate these when testing the patch.

Testing:
 * New test to check DFB alias is correctly assembled/disassembled.
 * Regression tested an x64 -> aarch64-none-elf cross, no regressions.

---

gas/ChangeLog:

2020-09-04  Alex Coplan  <alex.coplan@arm.com>

	* testsuite/gas/aarch64/dfb.d: New test.
	* testsuite/gas/aarch64/dfb.s: Input.

opcodes/ChangeLog:

2020-09-04  Alex Coplan  <alex.coplan@arm.com>

	* aarch64-tbl.h (aarch64_feature_v8_r): New.
	(ARMV8_R): New.
	(V8_R_INSN): New.
	(aarch64_opcode_table): Add dfb.
	* aarch64-opc-2.c: Regenerate.
	* aarch64-asm-2.c: Regenerate.
	* aarch64-dis-2.c: Regenerate.
---
 gas/testsuite/gas/aarch64/dfb.d | 8 ++++++++
 gas/testsuite/gas/aarch64/dfb.s | 2 ++
 opcodes/aarch64-tbl.h           | 6 ++++++
 3 files changed, 16 insertions(+)
 create mode 100644 gas/testsuite/gas/aarch64/dfb.d
 create mode 100644 gas/testsuite/gas/aarch64/dfb.s

[-- Attachment #2: 0002-aarch64-Add-support-for-Armv8-R-DFB-alias.patch --]
[-- Type: text/x-patch, Size: 2720 bytes --]

diff --git a/gas/testsuite/gas/aarch64/dfb.d b/gas/testsuite/gas/aarch64/dfb.d
new file mode 100644
index 00000000000..70aead952a5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dfb.d
@@ -0,0 +1,8 @@
+#objdump: -dr -m aarch64:armv8-r
+
+.*:     file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+.*:	d5033c9f 	dfb
diff --git a/gas/testsuite/gas/aarch64/dfb.s b/gas/testsuite/gas/aarch64/dfb.s
new file mode 100644
index 00000000000..df0ad5921a5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dfb.s
@@ -0,0 +1,2 @@
+.arch armv8-r
+dfb
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 5ad718014e0..1cecaead14d 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -2406,6 +2406,8 @@ static const aarch64_feature_set aarch64_feature_f32mm_sve =
 static const aarch64_feature_set aarch64_feature_f64mm_sve =
   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_F64MM
        | AARCH64_FEATURE_SVE, 0);
+static const aarch64_feature_set aarch64_feature_v8_r =
+  AARCH64_FEATURE (AARCH64_FEATURE_V8_R, 0);
 
 
 #define CORE		&aarch64_feature_v8
@@ -2450,6 +2452,7 @@ static const aarch64_feature_set aarch64_feature_f64mm_sve =
 #define F32MM_SVE     &aarch64_feature_f32mm_sve
 #define F64MM_SVE     &aarch64_feature_f64mm_sve
 #define I8MM      &aarch64_feature_i8mm
+#define ARMV8_R	  &aarch64_feature_v8_r
 
 #define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   { NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS, 0, 0, NULL }
@@ -2553,6 +2556,8 @@ static const aarch64_feature_set aarch64_feature_f64mm_sve =
   { NAME, OPCODE, MASK, CLASS, 0, F64MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
 #define F32MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
   { NAME, OPCODE, MASK, CLASS, 0, F32MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
+#define V8_R_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
+  { NAME, OPCODE, MASK, CLASS, 0, ARMV8_R, OPS, QUALS, FLAGS, 0, 0, NULL }
 
 struct aarch64_opcode aarch64_opcode_table[] =
 {
@@ -3845,6 +3850,7 @@ struct aarch64_opcode aarch64_opcode_table[] =
   CORE_INSN ("tsb", 0xd503225f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), {}, F_ALIAS),
   CORE_INSN ("clrex", 0xd503305f, 0xfffff0ff, ic_system, 0, OP1 (UIMM4), {}, F_OPD0_OPT | F_DEFAULT (0xF)),
   CORE_INSN ("dsb", 0xd503309f, 0xfffff0ff, ic_system, 0, OP1 (BARRIER), {}, F_HAS_ALIAS),
+  V8_R_INSN ("dfb", 0xd5033c9f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS),
   CORE_INSN ("ssbb", 0xd503309f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   CORE_INSN ("pssbb", 0xd503349f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   CORE_INSN ("dmb", 0xd50330bf, 0xfffff0ff, ic_system, 0, OP1 (BARRIER), {}, 0),

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-07 15:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-07 15:54 [PATCH 2/4] aarch64: Add support for Armv8-R DFB alias Alex Coplan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).