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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2026-01-24
           Priority|P3                          |P1
             Status|UNCONFIRMED                 |NEW

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The first change between the two tuning is in dep_fusion.

It moves:
(insn/s 74 73 69 10 (set (reg:SI 107 [ iftmp.3_10 ])
        (if_then_else:SI (leu (reg:CC 66 cc)
                (const_int 0 [0]))
            (reg:SI 111 [ _36 ])
            (const_int 0 [0]))) "t.c":28:33 discrim 2 504 {*cmovsi_insn}
     (nil))

before a jump.

BUT 107 is live in and live out. 
So we go from this cmov being conditional to unconditional.

That  is wrong.

Reply via email to