[Bug middle-end/78355] LRA generates unaligned accesses when SLOW_UNALIGNED_ACCESS is 1

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Nov 15 09:12:00 GMT 2016


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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
          if (!SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (reg))
              || (MEM_ALIGN (reg) < GET_MODE_ALIGNMENT (innermode)
                  && SLOW_UNALIGNED_ACCESS (innermode, MEM_ALIGN (reg)))
              || MEM_ALIGN (reg) >= GET_MODE_ALIGNMENT (mode))
            return true;

looks good to me given

gcc/defaults.h:#define SLOW_UNALIGNED_ACCESS(MODE, ALIGN) STRICT_ALIGNMENT

doesn't do that check itself (maybe it and all ports should be fixed
instead...)


More information about the Gcc-bugs mailing list