[PATCH 1/6] aarch64: Remove duplicate system register entries

Richard Sandiford richard.sandiford@arm.com
Tue Nov 30 12:21:23 GMT 2021


There is a lot of overlap between the ETM and ETE system registers,
so some registers were listed twice.

Already tested by etm.[sd] and ete.[sd].

Tested on aarch64-linux-gnu.  OK to install?

Richard


opcodes/
	* aarch64-opc.c (aarch64_sys_regs): Combine ETE and ETM blocks
	and remove redundant entries.

gas/
	* testsuite/gas/aarch64/etm.s: Remove duplicated test.
	* testsuite/gas/aarch64/etm.d: Update accordingly.
---
 gas/testsuite/gas/aarch64/etm.d | 2 --
 gas/testsuite/gas/aarch64/etm.s | 2 --
 opcodes/aarch64-opc.c           | 8 +-------
 3 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/gas/testsuite/gas/aarch64/etm.d b/gas/testsuite/gas/aarch64/etm.d
index 4472b2f677e..ea00b868cd3 100644
--- a/gas/testsuite/gas/aarch64/etm.d
+++ b/gas/testsuite/gas/aarch64/etm.d
@@ -90,7 +90,6 @@ Disassembly of section \.text:
 [^:]+:	d5310a80 	mrs	x0, trcextinselr2
 [^:]+:	d5310b80 	mrs	x0, trcextinselr3
 [^:]+:	d53100e0 	mrs	x0, trcimspec0
-[^:]+:	d53100e0 	mrs	x0, trcimspec0
 [^:]+:	d53101e0 	mrs	x0, trcimspec1
 [^:]+:	d53102e0 	mrs	x0, trcimspec2
 [^:]+:	d53103e0 	mrs	x0, trcimspec3
@@ -267,7 +266,6 @@ Disassembly of section \.text:
 [^:]+:	d5110a80 	msr	trcextinselr2, x0
 [^:]+:	d5110b80 	msr	trcextinselr3, x0
 [^:]+:	d51100e0 	msr	trcimspec0, x0
-[^:]+:	d51100e0 	msr	trcimspec0, x0
 [^:]+:	d51101e0 	msr	trcimspec1, x0
 [^:]+:	d51102e0 	msr	trcimspec2, x0
 [^:]+:	d51103e0 	msr	trcimspec3, x0
diff --git a/gas/testsuite/gas/aarch64/etm.s b/gas/testsuite/gas/aarch64/etm.s
index 8f1947db736..761f56a2204 100644
--- a/gas/testsuite/gas/aarch64/etm.s
+++ b/gas/testsuite/gas/aarch64/etm.s
@@ -86,7 +86,6 @@ mrs x0, trcextinselr1
 mrs x0, trcextinselr2
 mrs x0, trcextinselr3
 mrs x0, trcimspec0
-mrs x0, trcimspec0
 mrs x0, trcimspec1
 mrs x0, trcimspec2
 mrs x0, trcimspec3
@@ -265,7 +264,6 @@ msr trcextinselr1, x0
 msr trcextinselr2, x0
 msr trcextinselr3, x0
 msr trcimspec0, x0
-msr trcimspec0, x0
 msr trcimspec1, x0
 msr trcimspec2, x0
 msr trcimspec3, x0
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index ef0ba8a68f4..714c705ea91 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -4486,12 +4486,6 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   SR_CORE("trbsr_el1",  	CPENC (3,0,C9,C11,3),	0),
   SR_CORE("trbtrg_el1", 	CPENC (3,0,C9,C11,6),	0),
 
-  SR_CORE ("trcextinselr0",	CPENC (2,1,C0,C8,4),	0),
-  SR_CORE ("trcextinselr1",	CPENC (2,1,C0,C9,4),	0),
-  SR_CORE ("trcextinselr2",	CPENC (2,1,C0,C10,4),	0),
-  SR_CORE ("trcextinselr3",	CPENC (2,1,C0,C11,4),	0),
-  SR_CORE ("trcrsr",		CPENC (2,1,C0,C10,0),	0),
-
   SR_CORE ("trcauthstatus", CPENC (2,1,C7,C14,6), F_REG_READ),
   SR_CORE ("trccidr0",      CPENC (2,1,C7,C12,7), F_REG_READ),
   SR_CORE ("trccidr1",      CPENC (2,1,C7,C13,7), F_REG_READ),
@@ -4612,7 +4606,6 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   SR_CORE ("trcextinselr2", CPENC (2,1,C0,C10,4), 0),
   SR_CORE ("trcextinselr3", CPENC (2,1,C0,C11,4), 0),
   SR_CORE ("trcimspec0",    CPENC (2,1,C0,C0,7),  0),
-  SR_CORE ("trcimspec0",    CPENC (2,1,C0,C0,7),  0),
   SR_CORE ("trcimspec1",    CPENC (2,1,C0,C1,7),  0),
   SR_CORE ("trcimspec2",    CPENC (2,1,C0,C2,7),  0),
   SR_CORE ("trcimspec3",    CPENC (2,1,C0,C3,7),  0),
@@ -4625,6 +4618,7 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   SR_CORE ("trcprgctlr",    CPENC (2,1,C0,C1,0),  0),
   SR_CORE ("trcprocselr",   CPENC (2,1,C0,C2,0),  0),
   SR_CORE ("trcqctlr",      CPENC (2,1,C0,C1,1),  0),
+  SR_CORE ("trcrsr",        CPENC (2,1,C0,C10,0), 0),
   SR_CORE ("trcrsctlr2",    CPENC (2,1,C1,C2,0),  0),
   SR_CORE ("trcrsctlr3",    CPENC (2,1,C1,C3,0),  0),
   SR_CORE ("trcrsctlr4",    CPENC (2,1,C1,C4,0),  0),
-- 
2.25.1



More information about the Binutils mailing list