[Bug target/16798] PowerPC - Opportunity to use recording form instruction.

segher at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Sep 29 02:24:00 GMT 2018


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

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |segher at gcc dot gnu.org

--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Combine starts with

insn_cost 4 for    11: {r122:DI=r126:DI>>0x34;clobber ca:DI;}
      REG_DEAD r126:DI
      REG_UNUSED ca:DI
insn_cost 8 for    12: r127:DI=[unspec[`*.LC1',%2:DI] 46]
      REG_EQUAL `j'
insn_cost 4 for    13: [r127:DI]=r122:DI
      REG_DEAD r127:DI
insn_cost 4 for    16: r128:CC=cmp(r122:DI,0)
      REG_DEAD r122:DI

and we want 11 and 16 combined (later passes put 16 earlier btw).

But combine does not try to combine anything into 16: the first use of r122
as set in insn 11 is insn 13, not insn 16, and 11+13 does not combine.

But 11+13+16 is not tried.  Maybe we should?


More information about the Gcc-bugs mailing list