https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71309
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|tree-optimization |rtl-optimization --- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> --- At gimple level, this is nd_2(D)->path = nd_2(D)->root; d_4 = nd_2(D)->path.dentry; return d_4; For 64-bit powerpc, this is expanded to a TImode move, followed by a DImode load. The TImode moves aren't split into DImode until after reload, for powerpc anyway. For BE, the load is optimised away by dse1: trying to replace DImode load in insn 9 from TImode store in insn 8 deferring rescan insn with uid = 9. deferring rescan insn with uid = 17. -- replaced the loaded MEM with (reg 161) but not for LE: trying to replace DImode load in insn 9 from TImode store in insn 8 -- could not extract bits of stored value 32-bit already expands as two SImode moves, so there is no problem there.