* config/tc-arm.c (do_rd_rm_rn): Added warning.

    gas/testsuite/
    * gas/arm/depr-swp.d: New test case.
    * gas/arm/depr-swp.s: New file.
    * gas/arm/depr-swp.l: New file.
This commit is contained in:
Daniel Gutson 2010-02-23 18:04:14 +00:00
parent ca419a6f33
commit 56adecf405
6 changed files with 34 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2010-02-23 Daniel Gutson <dgutson@codesourcery.com>
* config/tc-arm.c (do_rd_rm_rn): Added warning
for obsolete insns.
2010-02-23 Andrew Zabolotny <anpaza@mail.ru>
PR binutils/11297

View File

@ -6970,8 +6970,16 @@ do_rd_rm_rn (void)
unsigned Rn = inst.operands[2].reg;
/* Enforce restrictions on SWP instruction. */
if ((inst.instruction & 0x0fbfffff) == 0x01000090)
constraint (Rn == inst.operands[0].reg || Rn == inst.operands[1].reg,
_("Rn must not overlap other operands"));
{
constraint (Rn == inst.operands[0].reg || Rn == inst.operands[1].reg,
_("Rn must not overlap other operands"));
/* SWP{b} is deprecated for ARMv6* and ARMv7. */
if (warn_on_deprecated
&& ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v6))
as_warn (_("swp{b} use is deprecated for this architecture"));
}
inst.instruction |= inst.operands[0].reg << 12;
inst.instruction |= inst.operands[1].reg;
inst.instruction |= Rn << 16;

View File

@ -1,3 +1,9 @@
2010-02-23 Daniel Gutson <dgutson@codesourcery.com>
* gas/arm/depr-swp.d: New test case.
* gas/arm/depr-swp.s: New file.
* gas/arm/depr-swp.l: New file.
2010-02-23 Nick Clifton <nickc@redhat.com>
* gas/arm/thumb2_bcond.d: Allow for varying number of nops at the

View File

@ -0,0 +1,3 @@
#name: Deprecated swp{b} instructions
#source: depr-swp.s
#error-output: depr-swp.l

View File

@ -0,0 +1,3 @@
[^:]*: Assembler messages:
[^:]*:5: Warning: swp{b} use is deprecated for this architecture
[^:]*:7: Warning: swp{b} use is deprecated for this architecture

View File

@ -0,0 +1,7 @@
.syntax unified
.arch armv4
swp r0, r1, [r2]
.arch armv6
swp r0, r1, [r2]
.arch armv7-a
swp r0, r1, [r2]