On Fri, Jan 26, 2018 at 01:34:31PM +0000, Richard Sandiford wrote:
> aarch64_secondary_reload enforced a secondary reload via
> aarch64_sve_reload_be for memory and pseudo registers, but failed
> to do the same for subregs of pseudo registers.  To avoid this and
> any similar problems, the patch instead tests for things that the move
> patterns handle directly; if the operand isn't one of those, we should
> use the reload pattern instead.
> 
> The patch fixes an ICE in sve/mask_struct_store_3.c for aarch64_be,
> where the bogus target description was (rightly) causing LRA to cycle.
> 
> Tested on aarch64_be-elf and aarch64-linux-gnu.  OK to install?

OK.

Thanks,
James

> 
> Richard
> 
> 
> 2018-01-26  Richard Sandiford  <richard.sandif...@linaro.org>
> 
> gcc/
>       PR tearget/83845
>       * config/aarch64/aarch64.c (aarch64_secondary_reload): Tighten
>       check for operands that need to go through aarch64_sve_reload_be.
        sri->icode = CODE_FOR_aarch64_sve_reload_be;

Reply via email to