The return value of builtin function rs6000_builtin_mul_widen_even for Altivec is always signed, while it should be signed/unsigned as relevant (builtin vmuloub returns vector signed short, instead of vector unsigned short, as defined by the altivec PIM).
It seems to be a more general problem with altivec builtins declaration. Ira -- Summary: Altivec builtins return wrong types Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: irar at il dot ibm dot com GCC build triplet: powerpc*-* GCC host triplet: powerpc*-* GCC target triplet: powerpc*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30210