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).

Reply via email to