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 /gas/config/tc-arm.c | |
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.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r-- | gas/config/tc-arm.c | 24 |
1 files changed, 19 insertions, 5 deletions
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 |