mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-27 03:54:29 +00:00
* config/tc-arm.c (warn_deprecated_sp): New macro.
(do_t_mov_cmp): Permit R13 as the second argument to "cmp.n". * gas/arm/thumb2_bad_reg.s: Update to allow R13 as second argument for CMP. * gas/arm/thumb2_bad_reg.l: Adjust accordingly.
This commit is contained in:
parent
44cf688354
commit
9420679091
@ -1,3 +1,9 @@
|
||||
2009-02-23 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* config/tc-arm.c (warn_deprecated_sp): New macro.
|
||||
(do_t_mov_cmp): Permit R13 as the second
|
||||
argument to "cmp.n".
|
||||
|
||||
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/tc-i386.c (type_names): Add OPERAND_TYPE_REGYMM.
|
||||
|
@ -6140,6 +6140,14 @@ parse_operands (char *str, const unsigned char *pattern)
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* If REG is R13 (the stack pointer), warn that its use is
|
||||
deprecated. */
|
||||
#define warn_deprecated_sp(reg) \
|
||||
do \
|
||||
if (warn_on_deprecated && reg == REG_SP) \
|
||||
as_warn (_("use of r13 is deprecated")); \
|
||||
while (0)
|
||||
|
||||
/* Functions for operand encoding. ARM, then Thumb. */
|
||||
|
||||
#define rotate_left(v, n) (v << n | v >> (32 - n))
|
||||
@ -9690,7 +9698,18 @@ do_t_mov_cmp (void)
|
||||
if (opcode == T_MNEM_cmp)
|
||||
{
|
||||
constraint (Rn == REG_PC, BAD_PC);
|
||||
reject_bad_reg (Rm);
|
||||
if (narrow)
|
||||
{
|
||||
/* In the Thumb-2 ISA, use of R13 as Rm is deprecated,
|
||||
but valid. */
|
||||
warn_deprecated_sp (Rm);
|
||||
/* R15 was documented as a valid choice for Rm in ARMv6,
|
||||
but as UNPREDICTABLE in ARMv7. ARM's proprietary
|
||||
tools reject R15, so we do too. */
|
||||
constraint (Rm == REG_PC, BAD_PC);
|
||||
}
|
||||
else
|
||||
reject_bad_reg (Rm);
|
||||
}
|
||||
else if (opcode == T_MNEM_mov
|
||||
|| opcode == T_MNEM_movs)
|
||||
|
@ -1,3 +1,9 @@
|
||||
2009-02-23 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* gas/arm/thumb2_bad_reg.s: Update to allow R13 as second argument
|
||||
for CMP.
|
||||
* gas/arm/thumb2_bad_reg.l: Adjust accordingly.
|
||||
|
||||
2009-02-19 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* gas/ppc/e500mc.d ("lfdepx", "stfdepx"): Fix tests to expect a
|
||||
|
@ -76,6 +76,10 @@
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmn.w r0,r15'
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,#1'
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp r15,r0'
|
||||
[^:]*:[0-9]+: Warning: use of r13 is deprecated
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp r0,r15'
|
||||
[^:]*:[0-9]+: Warning: use of r13 is deprecated
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.n r0,r15'
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,r0'
|
||||
[^:]*:[0-9]+: Error: r13 not allowed here -- `cmp.w r0,r13'
|
||||
[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r0,r15'
|
||||
|
@ -114,6 +114,10 @@ test:
|
||||
@ CMP (register)
|
||||
cmp r13, r0 @ OK
|
||||
cmp r15, r0
|
||||
cmp r0, r13 @ Deprecated
|
||||
cmp r0, r15
|
||||
cmp.n r0, r13 @ Deprecated
|
||||
cmp.n r0, r15
|
||||
cmp.w r13, r0 @ OK
|
||||
cmp.w r15, r0
|
||||
cmp.w r0, r13
|
||||
|
Loading…
x
Reference in New Issue
Block a user