[clang] [clang][driver] Allow unaligned access on ARMv7 and higher by default (PR #82400)
Paul Kirth via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 20 15:25:42 PST 2024
================
@@ -305,6 +305,16 @@ X86 Support
Arm and AArch64 Support
^^^^^^^^^^^^^^^^^^^^^^^
+- ARMv6+ targets now default to allowing unaligned access, except Armv6-M, and
+ Armv8-M without the Main Extension. Baremetal targets should check that the
+ new default will work with their system configurations, since it requires
+ that SCTLR.A is 0, SCTLR.U is 1, and that the memory in question is
+ configured as "normal" memory. We've made the value judgment that the
+ performance gains here outweigh breakages, since it is difficult to identify
+ performance loss from disabling unaligned access, but incorrect enabling
+ unaligned access will generate an obvious alignment fault on ARMv7+. This is
+ also the default setting for ARM's downstream compilers.
+
----------------
ilovepi wrote:
@efriedma-quic @davemgreen Is this more in line with what you would expect in the release notes?
https://github.com/llvm/llvm-project/pull/82400
More information about the cfe-commits
mailing list