diff options
author | Alex Coplan <alex.coplan@arm.com> | 2020-09-08 14:21:44 +0100 |
---|---|---|
committer | Alex Coplan <alex.coplan@arm.com> | 2020-09-08 14:21:44 +0100 |
commit | 38cf07a6c0bae61ffba00054eb2e025a3910d93c (patch) | |
tree | 75a79a84fe501e5219678206e063b29f15655030 /gas | |
parent | 03fb3142c71fde91531ca39f33413bdf50a8dfb3 (diff) | |
download | gdb-38cf07a6c0bae61ffba00054eb2e025a3910d93c.zip gdb-38cf07a6c0bae61ffba00054eb2e025a3910d93c.tar.gz gdb-38cf07a6c0bae61ffba00054eb2e025a3910d93c.tar.bz2 |
aarch64: Add support for Armv8-R system registers
This patch adds support for the system registers introduced in Armv8-R
AArch64.
gas/ChangeLog:
2020-09-08 Alex Coplan <alex.coplan@arm.com>
* config/tc-aarch64.c (parse_sys_reg): Also pass sysreg name to
validation function.
(parse_sys_ins_reg): Likewise.
(print_operands): Pass CPU features to aarch64_print_operand().
* testsuite/gas/aarch64/v8-r-bad-sysregs.d: New test.
* testsuite/gas/aarch64/v8-r-bad-sysregs.l: Error output.
* testsuite/gas/aarch64/v8-r-bad-sysregs.s: Input.
* testsuite/gas/aarch64/v8-r-sysregs-need-arch.d: New test.
* testsuite/gas/aarch64/v8-r-sysregs-need-arch.l: Error output.
* testsuite/gas/aarch64/v8-r-sysregs.d: New test.
* testsuite/gas/aarch64/v8-r-sysregs.s: Input for previous two tests.
include/ChangeLog:
2020-09-08 Alex Coplan <alex.coplan@arm.com>
* opcode/aarch64.h (aarch64_sys_ins_reg_supported_p): Also take
system register name in order to simplify validation for v8-R.
(aarch64_print_operand): Also take CPU feature set, as disassembly for
system registers now depends on arch variant.
opcodes/ChangeLog:
2020-09-08 Alex Coplan <alex.coplan@arm.com>
* aarch64-dis.c (print_operands): Pass CPU features to
aarch64_print_operand().
* aarch64-opc.c (aarch64_print_operand): Use CPU features to determine
preferred disassembly of system registers.
(SR_RNG): Refactor to use new SR_FEAT2 macro.
(SR_FEAT2): New.
(SR_V8_1_A): New.
(SR_V8_4_A): New.
(SR_V8_A): New.
(SR_V8_R): New.
(SR_EXPAND_ELx): New.
(SR_EXPAND_EL12): New.
(aarch64_sys_regs): Specify which registers are only on
A-profile, add R-profile system registers.
(ENC_BARLAR): New.
(PRBARn_ELx): New.
(PRLARn_ELx): New.
(aarch64_sys_ins_reg_supported_p): Reject EL3 registers for
Armv8-R AArch64.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 14 | ||||
-rw-r--r-- | gas/config/tc-aarch64.c | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-bad-sysregs.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-bad-sysregs.l | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-bad-sysregs.s | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.l | 141 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-sysregs.d | 149 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/v8-r-sysregs.s | 141 |
9 files changed, 493 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index bf7b963..2c09ca2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,19 @@ 2020-09-08 Alex Coplan <alex.coplan@arm.com> + * config/tc-aarch64.c (parse_sys_reg): Also pass sysreg name to + validation function. + (parse_sys_ins_reg): Likewise. + (print_operands): Pass CPU features to aarch64_print_operand(). + * testsuite/gas/aarch64/v8-r-bad-sysregs.d: New test. + * testsuite/gas/aarch64/v8-r-bad-sysregs.l: Error output. + * testsuite/gas/aarch64/v8-r-bad-sysregs.s: Input. + * testsuite/gas/aarch64/v8-r-sysregs-need-arch.d: New test. + * testsuite/gas/aarch64/v8-r-sysregs-need-arch.l: Error output. + * testsuite/gas/aarch64/v8-r-sysregs.d: New test. + * testsuite/gas/aarch64/v8-r-sysregs.s: Input for previous two tests. + +2020-09-08 Alex Coplan <alex.coplan@arm.com> + * testsuite/gas/aarch64/dfb.d: New test. * testsuite/gas/aarch64/dfb.s: Input. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index effa976..b2a1683 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -4141,8 +4141,8 @@ parse_sys_reg (char **str, htab_t sys_regs, as_bad (_("selected processor does not support PSTATE field " "name '%s'"), buf); if (!pstatefield_p - && !aarch64_sys_ins_reg_supported_p (cpu_variant, o->value, - o->flags, o->features)) + && !aarch64_sys_ins_reg_supported_p (cpu_variant, o->name, + o->value, o->flags, o->features)) as_bad (_("selected processor does not support system register " "name '%s'"), buf); if (aarch64_sys_reg_deprecated_p (o->flags)) @@ -4183,7 +4183,8 @@ parse_sys_ins_reg (char **str, htab_t sys_ins_regs) if (!o) return NULL; - if (!aarch64_sys_ins_reg_supported_p (cpu_variant, o->value, o->flags, 0)) + if (!aarch64_sys_ins_reg_supported_p (cpu_variant, + o->name, o->value, o->flags, 0)) as_bad (_("selected processor does not support system register " "name '%s'"), buf); if (aarch64_sys_reg_deprecated_p (o->flags)) @@ -4715,7 +4716,7 @@ print_operands (char *buf, const aarch64_opcode *opcode, /* Generate the operand string in STR. */ aarch64_print_operand (str, sizeof (str), 0, opcode, opnds, i, NULL, NULL, - NULL); + NULL, cpu_variant); /* Delimiter. */ if (str[0] != '\0') diff --git a/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.d b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.d new file mode 100644 index 0000000..6677f3b --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.d @@ -0,0 +1,3 @@ +#name: invalid system registers for Armv8-R AArch64 +#source: v8-r-bad-sysregs.s +#error_output: v8-r-bad-sysregs.l diff --git a/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.l b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.l new file mode 100644 index 0000000..51ac298 --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.l @@ -0,0 +1,14 @@ +[^:]*: Assembler messages: +.*: Error: selected processor does not support system register name 'sctlr_el3' +.*: Error: selected processor does not support system register name 'ttbr0_el3' +.*: Error: selected processor does not support system register name 'tcr_el3' +.*: Warning: specified register cannot be written to at operand 1 -- `msr mpuir_el1,x0' +.*: Warning: specified register cannot be written to at operand 1 -- `msr mpuir_el2,x0' +.*: Error: selected processor does not support system register name 'ttbr0_el2' +.*: Error: selected processor does not support system register name 'ttbr0_el2' +.*: Error: selected processor does not support system register name 'ttbr1_el2' +.*: Error: selected processor does not support system register name 'ttbr1_el2' +.*: Error: selected processor does not support system register name 'vsttbr_el2' +.*: Error: selected processor does not support system register name 'vsttbr_el2' +.*: Error: selected processor does not support system register name 'vttbr_el2' +.*: Error: selected processor does not support system register name 'vttbr_el2' diff --git a/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.s b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.s new file mode 100644 index 0000000..1a8f488 --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-bad-sysregs.s @@ -0,0 +1,23 @@ +// Invalid system registers for Armv8-R AArch64 +.arch armv8-r + +// No EL3 for Armv8-R +mrs x0, sctlr_el3 +msr ttbr0_el3, x0 +mrs x0, TCR_EL3 + +msr mpuir_el1, x0 // write to read-only register +msr mpuir_el2, x0 // write to read-only register + +// Four sysregs are not in R-profile: +mrs x0, ttbr0_el2 +msr ttbr0_el2, x0 + +mrs x0, ttbr1_el2 +msr ttbr1_el2, x0 + +mrs x0, vsttbr_el2 +msr vsttbr_el2, x0 + +mrs x0, vttbr_el2 +msr vttbr_el2, x0 diff --git a/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.d b/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.d new file mode 100644 index 0000000..af83196 --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.d @@ -0,0 +1,3 @@ +#name: check that Armv8-R system registers are rejected without -march=armv8-r +#source: v8-r-sysregs.s +#error_output: v8-r-sysregs-need-arch.l diff --git a/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.l b/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.l new file mode 100644 index 0000000..a609afc --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-sysregs-need-arch.l @@ -0,0 +1,141 @@ +[^:]*: Assembler messages: +.*: Error: selected processor does not support system register name 'mpuir_el1' +.*: Error: selected processor does not support system register name 'mpuir_el2' +.*: Error: selected processor does not support system register name 'prbar_el1' +.*: Error: selected processor does not support system register name 'prbar_el1' +.*: Error: selected processor does not support system register name 'prbar_el2' +.*: Error: selected processor does not support system register name 'prbar_el2' +.*: Error: selected processor does not support system register name 'prbar1_el1' +.*: Error: selected processor does not support system register name 'prbar1_el1' +.*: Error: selected processor does not support system register name 'prbar2_el1' +.*: Error: selected processor does not support system register name 'prbar2_el1' +.*: Error: selected processor does not support system register name 'prbar3_el1' +.*: Error: selected processor does not support system register name 'prbar3_el1' +.*: Error: selected processor does not support system register name 'prbar4_el1' +.*: Error: selected processor does not support system register name 'prbar4_el1' +.*: Error: selected processor does not support system register name 'prbar5_el1' +.*: Error: selected processor does not support system register name 'prbar5_el1' +.*: Error: selected processor does not support system register name 'prbar6_el1' +.*: Error: selected processor does not support system register name 'prbar6_el1' +.*: Error: selected processor does not support system register name 'prbar7_el1' +.*: Error: selected processor does not support system register name 'prbar7_el1' +.*: Error: selected processor does not support system register name 'prbar8_el1' +.*: Error: selected processor does not support system register name 'prbar8_el1' +.*: Error: selected processor does not support system register name 'prbar9_el1' +.*: Error: selected processor does not support system register name 'prbar9_el1' +.*: Error: selected processor does not support system register name 'prbar10_el1' +.*: Error: selected processor does not support system register name 'prbar10_el1' +.*: Error: selected processor does not support system register name 'prbar11_el1' +.*: Error: selected processor does not support system register name 'prbar11_el1' +.*: Error: selected processor does not support system register name 'prbar12_el1' +.*: Error: selected processor does not support system register name 'prbar12_el1' +.*: Error: selected processor does not support system register name 'prbar13_el1' +.*: Error: selected processor does not support system register name 'prbar13_el1' +.*: Error: selected processor does not support system register name 'prbar14_el1' +.*: Error: selected processor does not support system register name 'prbar14_el1' +.*: Error: selected processor does not support system register name 'prbar15_el1' +.*: Error: selected processor does not support system register name 'prbar15_el1' +.*: Error: selected processor does not support system register name 'prbar1_el2' +.*: Error: selected processor does not support system register name 'prbar1_el2' +.*: Error: selected processor does not support system register name 'prbar2_el2' +.*: Error: selected processor does not support system register name 'prbar2_el2' +.*: Error: selected processor does not support system register name 'prbar3_el2' +.*: Error: selected processor does not support system register name 'prbar3_el2' +.*: Error: selected processor does not support system register name 'prbar4_el2' +.*: Error: selected processor does not support system register name 'prbar4_el2' +.*: Error: selected processor does not support system register name 'prbar5_el2' +.*: Error: selected processor does not support system register name 'prbar5_el2' +.*: Error: selected processor does not support system register name 'prbar6_el2' +.*: Error: selected processor does not support system register name 'prbar6_el2' +.*: Error: selected processor does not support system register name 'prbar7_el2' +.*: Error: selected processor does not support system register name 'prbar7_el2' +.*: Error: selected processor does not support system register name 'prbar8_el2' +.*: Error: selected processor does not support system register name 'prbar8_el2' +.*: Error: selected processor does not support system register name 'prbar9_el2' +.*: Error: selected processor does not support system register name 'prbar9_el2' +.*: Error: selected processor does not support system register name 'prbar10_el2' +.*: Error: selected processor does not support system register name 'prbar10_el2' +.*: Error: selected processor does not support system register name 'prbar11_el2' +.*: Error: selected processor does not support system register name 'prbar11_el2' +.*: Error: selected processor does not support system register name 'prbar12_el2' +.*: Error: selected processor does not support system register name 'prbar12_el2' +.*: Error: selected processor does not support system register name 'prbar13_el2' +.*: Error: selected processor does not support system register name 'prbar13_el2' +.*: Error: selected processor does not support system register name 'prbar14_el2' +.*: Error: selected processor does not support system register name 'prbar14_el2' +.*: Error: selected processor does not support system register name 'prbar15_el2' +.*: Error: selected processor does not support system register name 'prbar15_el2' +.*: Error: selected processor does not support system register name 'prenr_el1' +.*: Error: selected processor does not support system register name 'prenr_el1' +.*: Error: selected processor does not support system register name 'prenr_el2' +.*: Error: selected processor does not support system register name 'prenr_el2' +.*: Error: selected processor does not support system register name 'prlar_el1' +.*: Error: selected processor does not support system register name 'prlar_el1' +.*: Error: selected processor does not support system register name 'prlar_el2' +.*: Error: selected processor does not support system register name 'prlar_el2' +.*: Error: selected processor does not support system register name 'prlar1_el1' +.*: Error: selected processor does not support system register name 'prlar1_el1' +.*: Error: selected processor does not support system register name 'prlar2_el1' +.*: Error: selected processor does not support system register name 'prlar2_el1' +.*: Error: selected processor does not support system register name 'prlar3_el1' +.*: Error: selected processor does not support system register name 'prlar3_el1' +.*: Error: selected processor does not support system register name 'prlar4_el1' +.*: Error: selected processor does not support system register name 'prlar4_el1' +.*: Error: selected processor does not support system register name 'prlar5_el1' +.*: Error: selected processor does not support system register name 'prlar5_el1' +.*: Error: selected processor does not support system register name 'prlar6_el1' +.*: Error: selected processor does not support system register name 'prlar6_el1' +.*: Error: selected processor does not support system register name 'prlar7_el1' +.*: Error: selected processor does not support system register name 'prlar7_el1' +.*: Error: selected processor does not support system register name 'prlar8_el1' +.*: Error: selected processor does not support system register name 'prlar8_el1' +.*: Error: selected processor does not support system register name 'prlar9_el1' +.*: Error: selected processor does not support system register name 'prlar9_el1' +.*: Error: selected processor does not support system register name 'prlar10_el1' +.*: Error: selected processor does not support system register name 'prlar10_el1' +.*: Error: selected processor does not support system register name 'prlar11_el1' +.*: Error: selected processor does not support system register name 'prlar11_el1' +.*: Error: selected processor does not support system register name 'prlar12_el1' +.*: Error: selected processor does not support system register name 'prlar12_el1' +.*: Error: selected processor does not support system register name 'prlar13_el1' +.*: Error: selected processor does not support system register name 'prlar13_el1' +.*: Error: selected processor does not support system register name 'prlar14_el1' +.*: Error: selected processor does not support system register name 'prlar14_el1' +.*: Error: selected processor does not support system register name 'prlar15_el1' +.*: Error: selected processor does not support system register name 'prlar15_el1' +.*: Error: selected processor does not support system register name 'prlar1_el2' +.*: Error: selected processor does not support system register name 'prlar1_el2' +.*: Error: selected processor does not support system register name 'prlar2_el2' +.*: Error: selected processor does not support system register name 'prlar2_el2' +.*: Error: selected processor does not support system register name 'prlar3_el2' +.*: Error: selected processor does not support system register name 'prlar3_el2' +.*: Error: selected processor does not support system register name 'prlar4_el2' +.*: Error: selected processor does not support system register name 'prlar4_el2' +.*: Error: selected processor does not support system register name 'prlar5_el2' +.*: Error: selected processor does not support system register name 'prlar5_el2' +.*: Error: selected processor does not support system register name 'prlar6_el2' +.*: Error: selected processor does not support system register name 'prlar6_el2' +.*: Error: selected processor does not support system register name 'prlar7_el2' +.*: Error: selected processor does not support system register name 'prlar7_el2' +.*: Error: selected processor does not support system register name 'prlar8_el2' +.*: Error: selected processor does not support system register name 'prlar8_el2' +.*: Error: selected processor does not support system register name 'prlar9_el2' +.*: Error: selected processor does not support system register name 'prlar9_el2' +.*: Error: selected processor does not support system register name 'prlar10_el2' +.*: Error: selected processor does not support system register name 'prlar10_el2' +.*: Error: selected processor does not support system register name 'prlar11_el2' +.*: Error: selected processor does not support system register name 'prlar11_el2' +.*: Error: selected processor does not support system register name 'prlar12_el2' +.*: Error: selected processor does not support system register name 'prlar12_el2' +.*: Error: selected processor does not support system register name 'prlar13_el2' +.*: Error: selected processor does not support system register name 'prlar13_el2' +.*: Error: selected processor does not support system register name 'prlar14_el2' +.*: Error: selected processor does not support system register name 'prlar14_el2' +.*: Error: selected processor does not support system register name 'prlar15_el2' +.*: Error: selected processor does not support system register name 'prlar15_el2' +.*: Error: selected processor does not support system register name 'prselr_el1' +.*: Error: selected processor does not support system register name 'prselr_el1' +.*: Error: selected processor does not support system register name 'prselr_el2' +.*: Error: selected processor does not support system register name 'prselr_el2' +.*: Error: selected processor does not support system register name 'vsctlr_el2' +.*: Error: selected processor does not support system register name 'vsctlr_el2' diff --git a/gas/testsuite/gas/aarch64/v8-r-sysregs.d b/gas/testsuite/gas/aarch64/v8-r-sysregs.d new file mode 100644 index 0000000..aa8321e --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-sysregs.d @@ -0,0 +1,149 @@ +#name: Exhaustive test of Armv8-R system registers +#as: -march=armv8-r +#objdump: -dr -m aarch64:armv8-r + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d5380080 mrs x0, mpuir_el1 +.*: d53c0080 mrs x0, mpuir_el2 +.*: d5386800 mrs x0, prbar_el1 +.*: d5186800 msr prbar_el1, x0 +.*: d53c6800 mrs x0, prbar_el2 +.*: d51c6800 msr prbar_el2, x0 +.*: d5386880 mrs x0, prbar1_el1 +.*: d5186880 msr prbar1_el1, x0 +.*: d5386900 mrs x0, prbar2_el1 +.*: d5186900 msr prbar2_el1, x0 +.*: d5386980 mrs x0, prbar3_el1 +.*: d5186980 msr prbar3_el1, x0 +.*: d5386a00 mrs x0, prbar4_el1 +.*: d5186a00 msr prbar4_el1, x0 +.*: d5386a80 mrs x0, prbar5_el1 +.*: d5186a80 msr prbar5_el1, x0 +.*: d5386b00 mrs x0, prbar6_el1 +.*: d5186b00 msr prbar6_el1, x0 +.*: d5386b80 mrs x0, prbar7_el1 +.*: d5186b80 msr prbar7_el1, x0 +.*: d5386c00 mrs x0, prbar8_el1 +.*: d5186c00 msr prbar8_el1, x0 +.*: d5386c80 mrs x0, prbar9_el1 +.*: d5186c80 msr prbar9_el1, x0 +.*: d5386d00 mrs x0, prbar10_el1 +.*: d5186d00 msr prbar10_el1, x0 +.*: d5386d80 mrs x0, prbar11_el1 +.*: d5186d80 msr prbar11_el1, x0 +.*: d5386e00 mrs x0, prbar12_el1 +.*: d5186e00 msr prbar12_el1, x0 +.*: d5386e80 mrs x0, prbar13_el1 +.*: d5186e80 msr prbar13_el1, x0 +.*: d5386f00 mrs x0, prbar14_el1 +.*: d5186f00 msr prbar14_el1, x0 +.*: d5386f80 mrs x0, prbar15_el1 +.*: d5186f80 msr prbar15_el1, x0 +.*: d53c6880 mrs x0, prbar1_el2 +.*: d51c6880 msr prbar1_el2, x0 +.*: d53c6900 mrs x0, prbar2_el2 +.*: d51c6900 msr prbar2_el2, x0 +.*: d53c6980 mrs x0, prbar3_el2 +.*: d51c6980 msr prbar3_el2, x0 +.*: d53c6a00 mrs x0, prbar4_el2 +.*: d51c6a00 msr prbar4_el2, x0 +.*: d53c6a80 mrs x0, prbar5_el2 +.*: d51c6a80 msr prbar5_el2, x0 +.*: d53c6b00 mrs x0, prbar6_el2 +.*: d51c6b00 msr prbar6_el2, x0 +.*: d53c6b80 mrs x0, prbar7_el2 +.*: d51c6b80 msr prbar7_el2, x0 +.*: d53c6c00 mrs x0, prbar8_el2 +.*: d51c6c00 msr prbar8_el2, x0 +.*: d53c6c80 mrs x0, prbar9_el2 +.*: d51c6c80 msr prbar9_el2, x0 +.*: d53c6d00 mrs x0, prbar10_el2 +.*: d51c6d00 msr prbar10_el2, x0 +.*: d53c6d80 mrs x0, prbar11_el2 +.*: d51c6d80 msr prbar11_el2, x0 +.*: d53c6e00 mrs x0, prbar12_el2 +.*: d51c6e00 msr prbar12_el2, x0 +.*: d53c6e80 mrs x0, prbar13_el2 +.*: d51c6e80 msr prbar13_el2, x0 +.*: d53c6f00 mrs x0, prbar14_el2 +.*: d51c6f00 msr prbar14_el2, x0 +.*: d53c6f80 mrs x0, prbar15_el2 +.*: d51c6f80 msr prbar15_el2, x0 +.*: d5386120 mrs x0, prenr_el1 +.*: d5186120 msr prenr_el1, x0 +.*: d53c6120 mrs x0, prenr_el2 +.*: d51c6120 msr prenr_el2, x0 +.*: d5386820 mrs x0, prlar_el1 +.*: d5186820 msr prlar_el1, x0 +.*: d53c6820 mrs x0, prlar_el2 +.*: d51c6820 msr prlar_el2, x0 +.*: d53868a0 mrs x0, prlar1_el1 +.*: d51868a0 msr prlar1_el1, x0 +.*: d5386920 mrs x0, prlar2_el1 +.*: d5186920 msr prlar2_el1, x0 +.*: d53869a0 mrs x0, prlar3_el1 +.*: d51869a0 msr prlar3_el1, x0 +.*: d5386a20 mrs x0, prlar4_el1 +.*: d5186a20 msr prlar4_el1, x0 +.*: d5386aa0 mrs x0, prlar5_el1 +.*: d5186aa0 msr prlar5_el1, x0 +.*: d5386b20 mrs x0, prlar6_el1 +.*: d5186b20 msr prlar6_el1, x0 +.*: d5386ba0 mrs x0, prlar7_el1 +.*: d5186ba0 msr prlar7_el1, x0 +.*: d5386c20 mrs x0, prlar8_el1 +.*: d5186c20 msr prlar8_el1, x0 +.*: d5386ca0 mrs x0, prlar9_el1 +.*: d5186ca0 msr prlar9_el1, x0 +.*: d5386d20 mrs x0, prlar10_el1 +.*: d5186d20 msr prlar10_el1, x0 +.*: d5386da0 mrs x0, prlar11_el1 +.*: d5186da0 msr prlar11_el1, x0 +.*: d5386e20 mrs x0, prlar12_el1 +.*: d5186e20 msr prlar12_el1, x0 +.*: d5386ea0 mrs x0, prlar13_el1 +.*: d5186ea0 msr prlar13_el1, x0 +.*: d5386f20 mrs x0, prlar14_el1 +.*: d5186f20 msr prlar14_el1, x0 +.*: d5386fa0 mrs x0, prlar15_el1 +.*: d5186fa0 msr prlar15_el1, x0 +.*: d53c68a0 mrs x0, prlar1_el2 +.*: d51c68a0 msr prlar1_el2, x0 +.*: d53c6920 mrs x0, prlar2_el2 +.*: d51c6920 msr prlar2_el2, x0 +.*: d53c69a0 mrs x0, prlar3_el2 +.*: d51c69a0 msr prlar3_el2, x0 +.*: d53c6a20 mrs x0, prlar4_el2 +.*: d51c6a20 msr prlar4_el2, x0 +.*: d53c6aa0 mrs x0, prlar5_el2 +.*: d51c6aa0 msr prlar5_el2, x0 +.*: d53c6b20 mrs x0, prlar6_el2 +.*: d51c6b20 msr prlar6_el2, x0 +.*: d53c6ba0 mrs x0, prlar7_el2 +.*: d51c6ba0 msr prlar7_el2, x0 +.*: d53c6c20 mrs x0, prlar8_el2 +.*: d51c6c20 msr prlar8_el2, x0 +.*: d53c6ca0 mrs x0, prlar9_el2 +.*: d51c6ca0 msr prlar9_el2, x0 +.*: d53c6d20 mrs x0, prlar10_el2 +.*: d51c6d20 msr prlar10_el2, x0 +.*: d53c6da0 mrs x0, prlar11_el2 +.*: d51c6da0 msr prlar11_el2, x0 +.*: d53c6e20 mrs x0, prlar12_el2 +.*: d51c6e20 msr prlar12_el2, x0 +.*: d53c6ea0 mrs x0, prlar13_el2 +.*: d51c6ea0 msr prlar13_el2, x0 +.*: d53c6f20 mrs x0, prlar14_el2 +.*: d51c6f20 msr prlar14_el2, x0 +.*: d53c6fa0 mrs x0, prlar15_el2 +.*: d51c6fa0 msr prlar15_el2, x0 +.*: d5386220 mrs x0, prselr_el1 +.*: d5186220 msr prselr_el1, x0 +.*: d53c6220 mrs x0, prselr_el2 +.*: d51c6220 msr prselr_el2, x0 +.*: d53c2000 mrs x0, vsctlr_el2 +.*: d51c2000 msr vsctlr_el2, x0 diff --git a/gas/testsuite/gas/aarch64/v8-r-sysregs.s b/gas/testsuite/gas/aarch64/v8-r-sysregs.s new file mode 100644 index 0000000..76c80bd --- /dev/null +++ b/gas/testsuite/gas/aarch64/v8-r-sysregs.s @@ -0,0 +1,141 @@ +// Armv8-R system registers +mrs x0, mpuir_el1 +mrs x0, mpuir_el2 +mrs x0, prbar_el1 +msr prbar_el1, x0 +mrs x0, prbar_el2 +msr prbar_el2, x0 +mrs x0, prbar1_el1 +msr prbar1_el1, x0 +mrs x0, prbar2_el1 +msr prbar2_el1, x0 +mrs x0, prbar3_el1 +msr prbar3_el1, x0 +mrs x0, prbar4_el1 +msr prbar4_el1, x0 +mrs x0, prbar5_el1 +msr prbar5_el1, x0 +mrs x0, prbar6_el1 +msr prbar6_el1, x0 +mrs x0, prbar7_el1 +msr prbar7_el1, x0 +mrs x0, prbar8_el1 +msr prbar8_el1, x0 +mrs x0, prbar9_el1 +msr prbar9_el1, x0 +mrs x0, prbar10_el1 +msr prbar10_el1, x0 +mrs x0, prbar11_el1 +msr prbar11_el1, x0 +mrs x0, prbar12_el1 +msr prbar12_el1, x0 +mrs x0, prbar13_el1 +msr prbar13_el1, x0 +mrs x0, prbar14_el1 +msr prbar14_el1, x0 +mrs x0, prbar15_el1 +msr prbar15_el1, x0 +mrs x0, prbar1_el2 +msr prbar1_el2, x0 +mrs x0, prbar2_el2 +msr prbar2_el2, x0 +mrs x0, prbar3_el2 +msr prbar3_el2, x0 +mrs x0, prbar4_el2 +msr prbar4_el2, x0 +mrs x0, prbar5_el2 +msr prbar5_el2, x0 +mrs x0, prbar6_el2 +msr prbar6_el2, x0 +mrs x0, prbar7_el2 +msr prbar7_el2, x0 +mrs x0, prbar8_el2 +msr prbar8_el2, x0 +mrs x0, prbar9_el2 +msr prbar9_el2, x0 +mrs x0, prbar10_el2 +msr prbar10_el2, x0 +mrs x0, prbar11_el2 +msr prbar11_el2, x0 +mrs x0, prbar12_el2 +msr prbar12_el2, x0 +mrs x0, prbar13_el2 +msr prbar13_el2, x0 +mrs x0, prbar14_el2 +msr prbar14_el2, x0 +mrs x0, prbar15_el2 +msr prbar15_el2, x0 +mrs x0, prenr_el1 +msr prenr_el1, x0 +mrs x0, prenr_el2 +msr prenr_el2, x0 +mrs x0, prlar_el1 +msr prlar_el1, x0 +mrs x0, prlar_el2 +msr prlar_el2, x0 +mrs x0, prlar1_el1 +msr prlar1_el1, x0 +mrs x0, prlar2_el1 +msr prlar2_el1, x0 +mrs x0, prlar3_el1 +msr prlar3_el1, x0 +mrs x0, prlar4_el1 +msr prlar4_el1, x0 +mrs x0, prlar5_el1 +msr prlar5_el1, x0 +mrs x0, prlar6_el1 +msr prlar6_el1, x0 +mrs x0, prlar7_el1 +msr prlar7_el1, x0 +mrs x0, prlar8_el1 +msr prlar8_el1, x0 +mrs x0, prlar9_el1 +msr prlar9_el1, x0 +mrs x0, prlar10_el1 +msr prlar10_el1, x0 +mrs x0, prlar11_el1 +msr prlar11_el1, x0 +mrs x0, prlar12_el1 +msr prlar12_el1, x0 +mrs x0, prlar13_el1 +msr prlar13_el1, x0 +mrs x0, prlar14_el1 +msr prlar14_el1, x0 +mrs x0, prlar15_el1 +msr prlar15_el1, x0 +mrs x0, prlar1_el2 +msr prlar1_el2, x0 +mrs x0, prlar2_el2 +msr prlar2_el2, x0 +mrs x0, prlar3_el2 +msr prlar3_el2, x0 +mrs x0, prlar4_el2 +msr prlar4_el2, x0 +mrs x0, prlar5_el2 +msr prlar5_el2, x0 +mrs x0, prlar6_el2 +msr prlar6_el2, x0 +mrs x0, prlar7_el2 +msr prlar7_el2, x0 +mrs x0, prlar8_el2 +msr prlar8_el2, x0 +mrs x0, prlar9_el2 +msr prlar9_el2, x0 +mrs x0, prlar10_el2 +msr prlar10_el2, x0 +mrs x0, prlar11_el2 +msr prlar11_el2, x0 +mrs x0, prlar12_el2 +msr prlar12_el2, x0 +mrs x0, prlar13_el2 +msr prlar13_el2, x0 +mrs x0, prlar14_el2 +msr prlar14_el2, x0 +mrs x0, prlar15_el2 +msr prlar15_el2, x0 +mrs x0, prselr_el1 +msr prselr_el1, x0 +mrs x0, prselr_el2 +msr prselr_el2, x0 +mrs x0, vsctlr_el2 +msr vsctlr_el2, x0 |