Another one like PR 38884 and 38865.
Simple testcase:
#define vector __attribute__((vector_size(16) ))
vector float global_res;
float x;
int main(int argc)
{
vector float res = (vector float)(0.0f,0.0f,0.0f,1.0f);
res += (vector float)(0.0f,0.0f,0.0f,1.0f);
global_res = res;
x = *(float*)(&global_res);
return 0;
}
--
Summary: missed FRE with BIT_FIELD_REF and vectors
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: enhancement
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38885