https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87373
--- Comment #16 from Murat Ursavaş <murat.ursavas at gmail dot com> --- OK I understand conservative action and not wait for word by word access. But the resulting value is not 0x401 on the test case, but it should be. In my original case this was effecting a USART peripheral register and it was activating different switches and making the peripheral useless. To make the case worse, if you assign some important physical pins on the same port, this bug can make them work differently. Let's say, it can pull a trigger without intention, because GPIO peripherals simply waits for bit assignments.