Support unaligned load/store on more ARM targets

JF Bastien jfb at google.com
Tue May 14 17:39:53 PDT 2013


This patch matches GCC behavior: the code used to only allow unaligned
load/store on ARM for v6+ Darwin, it will now allow unaligned load/store
for v6+ Darwin as well as for v7+ on other targets.

The distinction is made because v6 doesn't guarantee support (but LLVM
assumes that Apple controls hardware+kernel and therefore have conformant
v6 CPUs), whereas v7 does provide this guarantee (and Linux behaves sanely).

I originally encountered this discrepancy in FastIsel tests which expect
unaligned load/store generation. Overall this should slightly improve
performance in most cases because of reduced I$ pressure.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130514/fc269a27/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm-unaligned.patch
Type: application/octet-stream
Size: 1442 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130514/fc269a27/attachment.obj>


More information about the llvm-commits mailing list