[AArch64] Don't warn on XZR/SP overlapping when it's in load/store
Jiong Wang
jiong.wang@arm.com
Fri Mar 13 11:22:00 GMT 2015
for load/store write back, normally, we should give unpredicatable warning
when any operand register is the same as the base register.
but for register 31, they will never be the same hard register in load/store
context when one is base register and the other is not.
register 31 in base register slot always interpreated as SP, while interpreated
as XZR in read/write operand. there is no need to warn in "warn_unpredictable_ldst" thus.
This is documented on ARMARM also.
this glitch was introduced by the following commit where the tricky reg 31 haven't been
considered.
commit 54a28c4ce5b18cccee584d7a5e26df750edfafe1
Author: Jiong Wang <jiong.wang@arm.com>
Date: Wed Nov 19 09:35:23 2014 +0000
[AArch64] Warn on load pair to same register
2014-11-19 Ryan Mansfield <rmansfield@qnx.com>
* config/tc-aarch64.c (md_assemble): Call warn_unpredictable_ldst.
(warn_unpredictable_ldst): New.
ok for trunk?
Thanks.
2015-03-13 Jiong Wang <jiong.wang@arm.com>
gas/
* config/tc-aarch64.c (warn_unpredictable_ldst): Don't warn on reg number 31.
gas/testsuite/
* gas/aarch64/diagnostic.s: New testcases.
* gas/aarch64/diagnostic.l: New error match.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: k.patch
Type: text/x-patch
Size: 3863 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150313/656e161b/attachment.bin>
More information about the Binutils
mailing list