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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
          Component|tree-optimization           |middle-end
             Status|WAITING                     |ASSIGNED

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
typedef long long __attribute__((__vector_size__ (32))) V;

V
foo (V v)
{
  return -(v >> 1);
}

int
main (void)
{
  V v = foo ((V) { -2, -4, -6, -8 });
  if (v[0] != 1 || v[1] != 2 || v[2] != 3 || v[3] != 4)
    __builtin_abort ();
  return 0;
}


fails before my patch and succeeds afterwards.

Reply via email to