diff options
author | Phil Blundell <philb@gnu.org> | 2001-02-12 13:32:25 +0000 |
---|---|---|
committer | Phil Blundell <philb@gnu.org> | 2001-02-12 13:32:25 +0000 |
commit | b1e2e654ad11d228622a53657b21b9f153c223b9 (patch) | |
tree | df8fe541ddcf4be73dc7f6ae1a08604087470e38 | |
parent | f0e1d18ad39ba877a6677895e02b5a3ff9c9bf04 (diff) | |
download | gdb-b1e2e654ad11d228622a53657b21b9f153c223b9.zip gdb-b1e2e654ad11d228622a53657b21b9f153c223b9.tar.gz gdb-b1e2e654ad11d228622a53657b21b9f153c223b9.tar.bz2 |
2001-02-12 Philip Blundell <pb@futuretv.com>
* config/tc-arm.c (do_ldst): Improve warnings for unpredictable
ldrt/strt instructions.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 24 |
2 files changed, 24 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d83016a..33d440a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-02-12 Philip Blundell <pb@futuretv.com> + + * config/tc-arm.c (do_ldst): Improve warnings for unpredictable + ldrt/strt instructions. + 2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * config/tc-mips.c (macro): For M_LA_AB emit a diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index e2e452e..514dba7 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -4323,9 +4323,16 @@ do_ldst (str, flags) if (ldst_extend (&str, halfword) == FAIL) return; if (conflict_reg) - as_warn (_("%s register same as write-back base"), - ((inst.instruction & LOAD_BIT) - ? _("destination") : _("source"))); + { + if (flags & TRANS_BIT) + as_warn (_("Rn and Rd must be different in %s"), + ((inst.instruction & LOAD_BIT) + ? "LDRT" : "STRT")); + else + as_warn (_("%s register same as write-back base"), + ((inst.instruction & LOAD_BIT) + ? _("destination") : _("source"))); + } } else { @@ -4346,8 +4353,15 @@ do_ldst (str, flags) } flags |= INDEX_UP; - if (! (flags & TRANS_BIT)) - pre_inc = 1; + if (flags & TRANS_BIT) + { + if (conflict_reg) + as_warn (_("Rn and Rd must be different in %s"), + ((inst.instruction & LOAD_BIT) + ? "LDRT" : "STRT")); + } + else + pre_inc = 1; } } else |