Browse Source
This patch adds: + New feature +csre to -march command line. + New instruction CSR PDEC associated with CSRE feature. Please note that CSRE system registers were already upstreamed. This patch should finalize CSRE feature implementation. CSRE feature adds CSR PDEC (Decrements Call stack pointer by the size of a Call stack record) instruction. Although this instruction has operand (PDEC) it's instruction's only operand. PDEC forces instruction field Rt to be set to 0b1111. This results in fixed opcode of the instruction. gas/ChangeLog: 2020-10-27 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * NEWS: Update docs. * config/tc-aarch64.c (parse_csr_operand): New operand parser. (parse_operands): Call to CSR operand parser. * testsuite/gas/aarch64/csre_csr-invalid.d: New test. * testsuite/gas/aarch64/csre_csr-invalid.l: New test. * testsuite/gas/aarch64/csre_csr-invalid.s: New test. * testsuite/gas/aarch64/csre_csr.d: New test. * testsuite/gas/aarch64/csre_csr.s: New test. include/ChangeLog: 2020-10-27 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * opcode/aarch64.h (AARCH64_FEATURE_CSRE): New -march feature. (enum aarch64_opnd): New CSR instruction field AARCH64_OPND_CSRE_CSR. opcodes/ChangeLog: 2020-10-27 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * aarch64-opc.c (aarch64_print_operand): CSR PDEC operand print-out. * aarch64-tbl.h (CSRE): New CSRE feature handler. (_CSRE_INSN): New CSRE instruction type. (struct aarch64_opcode): New 'csre' entry for a CSRE CLI feature. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated.binutils-2_36-branch
13 changed files with 1489 additions and 1417 deletions
@ -0,0 +1,3 @@ |
|||
#name: CSR PDEC instruction |
|||
#source: csre_csr-invalid.s |
|||
#error_output: csre_csr-invalid.l |
|||
@ -0,0 +1,2 @@ |
|||
.*: Assembler messages: |
|||
.*: Error: selected processor does not support `csr pdec' |
|||
@ -0,0 +1,4 @@ |
|||
/* CSR PDEC requires +csre for -march= command line option. */ |
|||
.arch armv8-a |
|||
|
|||
csr pdec |
|||
@ -0,0 +1,10 @@ |
|||
#name: CSRE extension CSR PDEC instruction |
|||
#objdump: -dr |
|||
|
|||
.*: file format .* |
|||
|
|||
Disassembly of section \.text: |
|||
|
|||
0+ <.*>: |
|||
.*: d50b721f csr pdec |
|||
.*: d50b721f csr pdec |
|||
@ -0,0 +1,4 @@ |
|||
.arch armv8-a+csre |
|||
|
|||
csr pdec |
|||
CSR PDEC |
|||
File diff suppressed because it is too large
Loading…
Reference in new issue