/* PR debug/44136 */
/* { dg-do compile } */
/* { dg-options "-w -O2 -g" } */
/* { dg-options "-w -Wno-psabi -O2 -g -mno-sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */

#define vector __attribute((vector_size(16)))
vector float a;

float
foo (float b)
{
  vector float c = { 0, 0, 0, 0 };
  vector float d = { 0, 0, 0, 0 };
  d += c;
  return ((float *)&c)[2];
}

float
bar (vector float a, int b, vector float c)
{
  vector float e = c * a;
  a = (vector float) { 0, 0, 0, 0 };
  c = (vector float) { 0, 0, 0, 0 };
  float d = ((float *)&a)[0];
  float f = ((float *)&c)[0];
  return d * f;
}
