https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116856
--- Comment #6 from Robert Hölzl <robert.hoelzl at posteo dot de> --- Sorry I oversimplified the Problem. Here is the self contained C-file that allows to reproduce the Problem: ``` #include <stdint.h> void f() { static uint8_t array[64]; for (uint8_t i = 0; i < sizeof(array); i++) { *(uint32_t __attribute__ ((__aligned__(1)))*) &array[i + 4] ^= *(uint32_t __attribute__ ((__aligned__(1)))*) &array[i]; } } ``` Please note that you can neither remove the for loop nor the refactor the type case into a typedef without making the issue vanish. My command line was like ``` "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.3 rel1\bin\arm-none-eabi-gcc.exe" -Os -mcpu=cortex-m33 -S -c demo.c ``` Please note that the parameter "-Os" (or "-Oz") is required to reproduce the problem.