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

--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> ---
From the combine dump of without_sel:

Trying 8, 9 -> 10:
    8: r127:V4SI=r124:V4SI^r131:V4SI
      REG_DEAD r131:V4SI
    9: r122:V4SI=r127:V4SI&r130:V4SI
      REG_DEAD r130:V4SI
      REG_DEAD r127:V4SI
   10: r128:V4SI=r124:V4SI^r122:V4SI
      REG_DEAD r124:V4SI
      REG_DEAD r122:V4SI
Failed to match this instruction:
(set (reg:V4SI 128 [ l ])
    (xor:V4SI (and:V4SI (xor:V4SI (reg/v:V4SI 124 [ l ])
                (reg:V4SI 131))
            (reg:V4SI 130))
        (reg/v:V4SI 124 [ l ])))



That's not canonical form on RTL, and it's not a useful form either.

Reply via email to