diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-11 09:52:11 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-11 09:52:11 +0000 |
commit | 55c144e691ec05a7b8231b5c58dc6d6659a1c4eb (patch) | |
tree | b9f8620d42678cc0701b666d0ad9f4569af9db7b /gas/testsuite | |
parent | 73af8ed6b107040eb7488f6ec122cd05d5e2e903 (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sysreg-2.d | 28 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sysreg-2.s | 18 |
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 |