https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87373

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #35 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
I haven't researched the history of this change, but it was probably
deliberate.  Device memory on processors (a memory classification that implies
that the underlying contents may contain memory mapped devices that have side
effects) is generally intolerant of misaligned accesses.  As such, emitting an
unaligned access to it may cause the system to fault.

If that was the reason for the change to GCC, it won't be reversed.  (The fact
that in your example the optimizers discover the alignment and change the code
back to an aligned access does not alter this general observation.)

Reply via email to