/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-optimized -w" } */ /* { dg-options "-O1 -fdump-tree-optimized -w -msse" { target { i?86-*-* x86_64-*-* } } } */ #define vector __attribute__((vector_size(16) )) struct VecClass { vector float v; }; vector float foo( vector float v ) { vector float x = v; x = x + x; struct VecClass disappear = *(struct VecClass*)&x; return disappear.v; } /* { dg-final { scan-tree-dump-times "disappear" 0 "optimized"} } */ /* { dg-final { cleanup-tree-dump "optimized" } } */