Take the following testcase:
extern char lanip[3][40];
typedef struct
{
  char *t[4];
}tx_typ;
int set_names (void)
{
  static tx_typ tt1;
  int ln;
  for (ln = 0; ln < 4; ln++)
      tt1.t[ln] = lanip[1];
}

-----
With -O2 -ftree-vectorize -maltivec, we produce a vector long long and we get
worse code than just doing the scalar code as VMX does not have a vector long
long mode.  We really should be asking the target if we support a vector mode.
I noticed this while looking into PR 28915.


-- 
           Summary: vectorizer produces vector long long on powerpc-linux-
                    gnu (and vector long on powerpc64)
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: piowerpc-linux-gnu


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

Reply via email to