/* { dg-do compile } */ | |
/* { dg-options "-O1 -fdump-tree-forwprop1 -w" } */ | |
#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 y = *(struct VecClass*)&x; | |
return y.v; | |
} | |
/* We should be able to convert the cast to a VCE in forwprop1. */ | |
/* { dg-final { scan-tree-dump-times "VIEW_CONVERT_EXPR" 1 "forwprop1"} } */ | |
/* { dg-final { cleanup-tree-dump "forwprop1" } } */ | |