The following should be vectorized with proper -mveclib:

float xf[1024];
float sf[1024];
float cf[1024];
void foo (void)
{
  int i;
  for (i = 0; i < 1024; ++i)
    {
      sf[i] = __builtin_sinf (xf[i]);
      cf[i] = __builtin_cosf (xf[i]);
    }
}

double xd[1024];
double sd[1024];
double cd[1024];
void bar (void)
{
  int i;
  for (i = 0; i < 1024; ++i)
    {
      sd[i] = __builtin_sin (xd[i]);
      cd[i] = __builtin_cos (xd[i]);
    }
}


-- 
           Summary: Vectorization of complex types, vectorization of sincos
                    missing
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40770

Reply via email to