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

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> 2011-01-20 
20:57:54 UTC ---
Created attachment 23052
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23052
Preliminary patch to allow --with-cpu=power7 to work

The root problem is under VSX, the vec_ld/vec_st builtins use VSX memory
instructions which have different semantics than Altivec when the memory is not
aligned.  The Altivec speedup in libcpp/lex.c specifically knows about the
Altivec behaviour and accesses the wrong memory location if the compiler is
built with VSX instructions.

This patch changes vec_ld/vec_st to go back to using Altivec instructions.  It
also adds vector double/vector long long support to the Altivec builtin whole
vector memory operations.  However, in doing so, it may affect users who have
been using GCC 4.5 for VSX that expects to use VSX instructions.  I anticipate
this is not the final patch for the problem.

Reply via email to