aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-12-11 09:52:11 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-12-11 09:52:11 +0000
commit55c144e691ec05a7b8231b5c58dc6d6659a1c4eb (patch)
treeb9f8620d42678cc0701b666d0ad9f4569af9db7b /gas/testsuite
parent73af8ed6b107040eb7488f6ec122cd05d5e2e903 (diff)
downloadgdb-55c144e691ec05a7b8231b5c58dc6d6659a1c4eb.zip
gdb-55c144e691ec05a7b8231b5c58dc6d6659a1c4eb.tar.gz
gdb-55c144e691ec05a7b8231b5c58dc6d6659a1c4eb.tar.bz2
[AArch64][Patch 2/5] Add Statistical Profiling Extension system registers.
The Statistical Profile extension included in the ARMv8.2 architecture adds a number of system registers. This patch adds the registers to binutils, making them available when the architecture extension "+profile" is enabled. opcodes/ 2015-12-11 Matthew Wahab <matthew.wahab@arm.com> * aarch64-opc.c (aarch64_sys_reg): Add pbmlimitr_el1, pmbptr_el1, pmbsr_el1, pmbidr_el1, pmscr_el1, pmsicr_el1, pmsirr_el1, pmsfcr_el1, pmsevfr_el1, pmslatfr_el1, pmsidr_el1, pmscr_el2 and pmscr_el2. (aarch64_sys_reg_supported_p): Add architecture feature tests for the new registers. gas/testsuite/ 2015-12-11 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/sysreg-2.s: Add tests for the statistical profiling system registers. * gas/aarch64/sysreg-2.d: Enable the statistical profiling extension and update the expected output. Change-Id: Ibf23ad34db7c33f0fcd30010b796748b38be6efb
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/aarch64/sysreg-2.d28
-rw-r--r--gas/testsuite/gas/aarch64/sysreg-2.s18
3 files changed, 52 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 4027a7c..dafa360 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2015-12-11 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/sysreg-2.s: Add tests for the statistical profiling
+ system registers.
+ * gas/aarch64/sysreg-2.d: Enable the statistical profiling
+ extension and update the expected output.
+
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
* gas/aarch64/sysreg-2.d: Update for new tests for AT S1E1RP and
diff --git a/gas/testsuite/gas/aarch64/sysreg-2.d b/gas/testsuite/gas/aarch64/sysreg-2.d
index f73412f..ba5fb52 100644
--- a/gas/testsuite/gas/aarch64/sysreg-2.d
+++ b/gas/testsuite/gas/aarch64/sysreg-2.d
@@ -1,5 +1,5 @@
#objdump: -dr
-#as: -march=armv8.2-a
+#as: -march=armv8.2-a+profile
.*: file .*
@@ -32,3 +32,29 @@ Disassembly of section .text:
[0-9a-f]+: d50b7c22 dc cvap, x2
[0-9a-f]+: d5087900 at s1e1rp, x0
[0-9a-f]+: d5087921 at s1e1wp, x1
+ [0-9a-f]+: d5189a07 msr pmblimitr_el1, x7
+ [0-9a-f]+: d5389a07 mrs x7, pmblimitr_el1
+ [0-9a-f]+: d5189a27 msr pmbptr_el1, x7
+ [0-9a-f]+: d5389a27 mrs x7, pmbptr_el1
+ [0-9a-f]+: d5189a67 msr pmbsr_el1, x7
+ [0-9a-f]+: d5389a67 mrs x7, pmbsr_el1
+ [0-9a-f]+: d5189ae7 msr pmbidr_el1, x7
+ [0-9a-f]+: d5389ae7 mrs x7, pmbidr_el1
+ [0-9a-f]+: d5189907 msr pmscr_el1, x7
+ [0-9a-f]+: d5389907 mrs x7, pmscr_el1
+ [0-9a-f]+: d5189947 msr pmsicr_el1, x7
+ [0-9a-f]+: d5389947 mrs x7, pmsicr_el1
+ [0-9a-f]+: d5189967 msr pmsirr_el1, x7
+ [0-9a-f]+: d5389967 mrs x7, pmsirr_el1
+ [0-9a-f]+: d5189987 msr pmsfcr_el1, x7
+ [0-9a-f]+: d5389987 mrs x7, pmsfcr_el1
+ [0-9a-f]+: d51899a7 msr pmsevfr_el1, x7
+ [0-9a-f]+: d53899a7 mrs x7, pmsevfr_el1
+ [0-9a-f]+: d51899c7 msr pmslatfr_el1, x7
+ [0-9a-f]+: d53899c7 mrs x7, pmslatfr_el1
+ [0-9a-f]+: d51c9907 msr pmscr_el2, x7
+ [0-9a-f]+: d53c9907 mrs x7, pmscr_el2
+ [0-9a-f]+: d51d9907 msr pmscr_el12, x7
+ [0-9a-f]+: d53d9907 mrs x7, pmscr_el12
+ [0-9a-f]+: d5389ae7 mrs x7, pmbidr_el1
+ [0-9a-f]+: d53899e7 mrs x7, pmsidr_el1
diff --git a/gas/testsuite/gas/aarch64/sysreg-2.s b/gas/testsuite/gas/aarch64/sysreg-2.s
index f89d057..2f6ea70 100644
--- a/gas/testsuite/gas/aarch64/sysreg-2.s
+++ b/gas/testsuite/gas/aarch64/sysreg-2.s
@@ -41,3 +41,21 @@
at s1e1rp, x0
at s1e1wp, x1
+
+ /* Statistical profiling. */
+
+ .irp reg, pmblimitr_el1, pmbptr_el1, pmbsr_el1 pmbidr_el1
+ rw_sys_reg sys_reg=\reg xreg=x7 r=1 w=1
+ .endr
+
+ .irp reg, pmscr_el1, pmsicr_el1, pmsirr_el1, pmsfcr_el1
+ rw_sys_reg sys_reg=\reg xreg=x7 r=1 w=1
+ .endr
+
+ .irp reg, pmsevfr_el1, pmslatfr_el1, pmscr_el2, pmscr_el12
+ rw_sys_reg sys_reg=\reg xreg=x7 r=1 w=1
+ .endr
+
+ .irp reg, pmbidr_el1, pmsidr_el1
+ rw_sys_reg sys_reg=\reg xreg=x7 r=1 w=0
+ .endr