https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72827
--- Comment #20 from Michael Meissner <meissner at gcc dot gnu.org> --- Yeah, it sounds like you don't want to adjust any of the stack related registers. However, in looking at this $#!%, we probably need to rewrite it so it doesn't do clever tricks like this. Which probably means a trip through the whole legitimize addressing support and secondary reload. One thing that might help is removing the test for TARGET_QUAD_WORD around line 9448 of rs6000.c, and look for other places in rs6000.c that TImode and TARGET_QUAD_WORD are mentioned near each other. On LE systems, TARGET_QUAD_WORD is false because the LQ/STQ load the words in the wrong order. One consequence of this is it only allows TImode value addresses to be a single register, on the other hand, when you are moving TImode in GPRs, you can use D-FORM addressing to address the secondary parts. In theory, PRE_MODIFY, PRE_INC, and PRE_DEC should never be set for TImode.