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

ibuclaw at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw at gcc dot gnu.org

--- Comment #2 from ibuclaw at gcc dot gnu.org ---
Just having a cursory look, the only references to d_signed_or_unsigned_type is
via d_unsigned_type and d_signed_type.

The former is only called by d_gimplify_unsigned_rshift_expr.

So I guess you must mean you've noticed this with something like.

    __vector(int[4]) unsigned_rshift(__vector(int[4]) v)
    {
        return v >>> 2;
    }

It turns out that this accident doesn't affect the intent on x86.

https://d.godbolt.org/z/99fK7fWaW

Gimple dump:
---
    __vector(int[4]) rshift (__vector(int[4]) v)
    {
      __vector(int[4]) D.1795;

      _1 = VIEW_CONVERT_EXPR<vector(4) unsigned int>(v);
      _2 = _1 >> 2;
      D.1795 = VIEW_CONVERT_EXPR<__vector(int[4])>(_2);
      return D.1795;
    }

Reply via email to