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

Hongtao.liu <crazylht at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crazylht at gmail dot com

--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
It looks like not an ABI issue, but gcc didn't simplify for vector all one bits
for floating point.

.277r.combine

Trying 6 -> 7:
    6: r85:V4SF=const_vector
    7: r84:V4SF=~r85:V4SF&r87:V4SF
      REG_DEAD r87:V4SF
      REG_DEAD r85:V4SF
Failed to match this instruction:
(set (reg:V4SF 84)
    (and:V4SF (reg:V4SF 87)
        (const_vector:V4SF [
                (const_double:SF -QNaN [-QNaN]) repeated x4
            ])))

When NAN is all ones(which is situation here), it should be simplified to (set
(reg:V4SF 84) (reg: V4SF 87))

Reply via email to