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