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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-09-08
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
insn_cost 8 for     6: r91:SI=zero_extend([`i'])
insn_cost 4 for     8:
{flags:CCC=cmp(r91:SI#0+0x1,r91:SI#0);r92:QI=r91:SI#0+0x1
;}
      REG_DEAD r91:SI
insn_cost 4 for    33: r89:QI=ltu(flags:CCC,0)
      REG_DEAD flags:CCC
insn_cost 4 for    17: [`i']=r92:QI
      REG_DEAD r92:QI

8+17 does not work, because the combined insn replaces 17, but it has to
stay before 33.

8+33+17 is never tried.  I don't immediately see why not?

It may still not work because of the irregularities in the x86 ISA, but
6+8+33+17 should work (if that would be tried...  but if 8+33+17 already
is not done, that needs to be fixed first).

Reply via email to