diff options
author | Alan Modra <amodra@gmail.com> | 2017-02-14 20:38:21 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-02-14 21:12:07 +1030 |
commit | 7e0de605cbacbbbb2531bb70506c0843aea13111 (patch) | |
tree | 70e16baeeedac264df23c6d884e95743dcbc570f /gas/NEWS | |
parent | 606a935e3a9066ab11308b8c934c9bdec7f128d3 (diff) | |
download | gdb-7e0de605cbacbbbb2531bb70506c0843aea13111.zip gdb-7e0de605cbacbbbb2531bb70506c0843aea13111.tar.gz gdb-7e0de605cbacbbbb2531bb70506c0843aea13111.tar.bz2 |
PowerPC register expression checks
This stops powerpc gas blithely accepting such nonsense as
"addi %f4,%cr3,%r31".
PR 21118
gas/
* NEWS: Mention powerpc register checks.
* config/tc-ppc.c (struct pd_reg): Make value a short. Add flags.
(pre_defined_registers): Delete fpscr and pmr entries. Set
register type in flags.
(cr_names): Set type in flags.
(reg_name_search): Return pointer to struct pd_reg rather than value.
(register_name): Adjust to suit. Set X_md from flags.
(ppc_parse_name): Likewise.
(ppc_optimize_expr): New function.
(md_assemble): Verify expresion reg flags match operand.
* config/tc-ppc.h (md_optimize_expr): Define.
(ppc_optimize_expr): Declare.
include/
* opcode/ppc.h (PPC_OPERAND_*): Reassign values, regs first.
(PPC_OPERAND_SPR, PPC_OPERAND_GQR): Define.
opcodes/
* ppc-opc.c (powerpc_operands): Flag SPR, SPRG and TBR entries
with PPC_OPERAND_SPR. Flag PSQ and PSQM with PPC_OPERAND_GQR.
Diffstat (limited to 'gas/NEWS')
-rw-r--r-- | gas/NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1,5 +1,9 @@ -*- text -*- +* PowerPC gas now checks that the correct register class is used in + instructions. For instance, "addi %f4,%cr3,%r31" is now rejected + rather than silently producing "addi r4,r3,31". + * Add support for the Texas Instruments PRU processor. Changes in 2.28: |