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

vmakarov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 16 15:45:00 GMT 2016


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

--- Comment #5 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Eric Botcazou from comment #1)
> 
> 	  if (!(MEM_ALIGN (reg) < GET_MODE_ALIGNMENT (mode)
> 		&& SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (reg)))
> 	      || (MEM_ALIGN (reg) < GET_MODE_ALIGNMENT (innermode)
> 		  && SLOW_UNALIGNED_ACCESS (innermode, MEM_ALIGN (reg))))
> 	    return true;
> 
> I'm going to test it on ARM, which has the same settings as your port, and
> this will probably also help the SPARC port for the switch to LRA.
> 
> Vladimir, what do you think?

The analysis looks right for me.  Although this code had a lot of troubles
until it was stabilized and came to the current state.  So the change might
create some new failures but I hope it will not.


More information about the Gcc-bugs mailing list