------- Comment #6 from jakub at gcc dot gnu dot org 2007-12-12 17:51 ------- As -m32 -maltivec without -mabi=altivec has the VMX regs effectively neither fixed, nor call saved, nor call used, it simply can't work reliably. Registers really need to have some rules for using them, while -m32 -maltivec means complete anarchy. The compiler is told calls won't clobber values stored in them, but nothing saves the registers, so things work only as long as no calls are crossed with live VMX registers, or with pure luck that the callee clobbers different VMX registers than the parent has live accross the call.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34437