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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The wrong combination is the
Trying 9, 10 -> 17:
    9: r107:SI=flags:CCZ!=0
      REG_DEAD flags:CCZ
   10: r107:SI=r107:SI*0x2+r107:SI
   17: {r111:SI=sign_extract(r107:SI,0x1,0);clobber flags:CC;}
      REG_DEAD r107:SI
      REG_UNUSED flags:CC
Failed to match this instruction:
(parallel [
        (set (reg:SI 111 [ _10 ])
            (mult:SI (ne:SI (reg:CCZ 17 flags)
                    (const_int 0 [0]))
                (const_int 3 [0x3])))
        (clobber (reg:CC 17 flags))
    ])
one (while it failed, as can be seen, the attempted expression is not
equivalent to the
original ones and we then split it and match the two split parts).

Reply via email to