opcodes,gas: adjust sparc insns and make GAS aware of it
authorJose E. Marchesi <jose.marchesi@oracle.com>
Fri, 17 Jun 2016 09:14:18 +0000 (02:14 -0700)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Fri, 17 Jun 2016 09:14:18 +0000 (02:14 -0700)
commit7a10c22feb4dfb7e56855033d579338a6258722d
tree2960bcb39684b58b8e4a70384912c3c94484657f
parent8b8c7c9f49992750f66f81b4601d593a3858d98c
opcodes,gas: adjust sparc insns and make GAS aware of it

This patch marks the SPARC instructions in the opcodes table with their
proper opcode architectures, and makes the assembler aware of them.
This allows the assembler to properly realize when a new instruction
needs a higher architecture (after v9b) and to react accordingly
emitting an error message or bumping the architecture.

It also expands architecture mismatch tests to cover architectures
higher than v9b, and fixes a couple of minor bugs in the GAS testsuite.

opcodes/ChangeLog:

2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>

* sparc-opc.c (sparc_opcodes): Adjust instructions opcode
architecture according to the hardware capabilities they require.
(sparc_priv_regs): New table.
(sparc_hpriv_regs): Likewise.
(sparc_asr_regs): Likewise.
(v9anotv9m): Define.

gas/ChangeLog:

2016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>

* config/tc-sparc.c (sparc_arch_table): adjust the GAS
architectures to use the right opcode architecture.
(sparc_md_end): Handle v9{c,d,e,v,m}.
(sparc_ip): Fix some comments.
* testsuite/gas/sparc/ldx_efsr.d: Fix the architecture of this
instruction, which is v9d.
* testsuite/gas/sparc/mwait.s: Remove the `rd %mwait,%g1'
instruction from the test, as %mwait is not readable.
* testsuite/gas/sparc/mwait.d: Likewise.
* testsuite/gas/sparc/mism-1.s: Expand to check v9b and v9e
mismatch architecture errors.
* testsuite/gas/sparc/mism-2.s: New file.
gas/ChangeLog
gas/config/tc-sparc.c
gas/testsuite/gas/sparc/ldx_efsr.d
gas/testsuite/gas/sparc/mism-1.s
gas/testsuite/gas/sparc/mism-2.s [new file with mode: 0644]
gas/testsuite/gas/sparc/mwait.d
gas/testsuite/gas/sparc/mwait.s
opcodes/ChangeLog
opcodes/sparc-opc.c