Support unaligned load/store on more ARM targets

JF Bastien jfb at google.com
Wed May 15 08:50:20 PDT 2013


Thanks for the review. I'll add a command line option in a separate patch,
good idea.

I assume that what you're suggesting is a switch that allows unaligned
accesses regardless of target? It would really only make sense to use it on
non-Darwin v6, and I guess the option description could say this. How
should I name it? GCC has -mstrict-align and -mno-strict-align, and LLVM
currently has -arm-strict-align. I could call it -arm-no-strict-align but
that's a mouthful. Maybe -arm-allow-unaligned?


On Wed, May 15, 2013 at 1:25 AM, Renato Golin <renato.golin at linaro.org>wrote:

> Hi JF,
>
> Looks good to me. Maybe adding a command line option to change that would
> be good, too, but not necessarily in this patch.
>
> Cheers,
> Renato
> On 15 May 2013 03:31, "JF Bastien" <jfb at google.com> wrote:
>
>> 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.
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130515/017896a7/attachment.html>


More information about the llvm-commits mailing list