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;