https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116856
Robert Hölzl <robert.hoelzl at posteo dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |---
--- Comment #2 from Robert Hölzl <robert.hoelzl at posteo dot de> ---
Cortex-M generally allows unaligned access:
https://developer.arm.com/documentation/ddi0406/c/Appendices/ARMv6-Differences/Application-level-memory-support/Alignment?lang=en
Actually I tested already to create an unaligned type (although I'd expect that
the compiler guesses that without a hint):
uint8_t array[100];
uint32_t __attribute__ ((__aligned__(1))) * ptr = (uint32_t *) (array + 1);
*ptr ^= *(ptr+1);
But that still uses LDRD (although it should be clear to the compiler that this
will not work out).