The maximum alignment used by ARM arch
is 64bits, not 128.
This could cause overaligned memory
access for 128 bit neon vector that
have unpredictable behaviour.
This fixes: https://bugs.llvm.org/show_bug.cgi?id=42668
Differential D65000
[ARM] Set default alignment to 64bits dnsampaio on Jul 19 2019, 9:01 AM. Authored by
Details
The maximum alignment used by ARM arch This could cause overaligned memory This fixes: https://bugs.llvm.org/show_bug.cgi?id=42668
Diff Detail
Event TimelineComment Actions I think that this may not apply for Android as AFAIK their ABI still requires 128-bit alignment in some cases. Adding some more reviewers from Android.
Comment Actions Set android-abi default to 128. Added tests for android and not-android.
Comment Actions Thanks for the update. Will be worth adding some reviewers from Apple to see if this change should be IsAAPCS only. I've no more further comments myself besides a small nit on style.
Comment Actions test case missing A8 aside this looks ok to me. Would like to see if there are any comments from the Pacific time zone.
Comment Actions
Comment Actions Hi, first thanks for those that looked into this and sorry for the delay. Comment Actions I just built trunk with this patch applied and $ ninja check-clang-codegen seems to pass. Thanks @dnsampaio! |
I think that Android can require a higher alignment in some cases (See below). I think that this was explained in D33205