Hi! On Thu, Mar 29, 2018 at 09:47:42AM -0500, Kelvin Nilsen wrote: > In summary, this patch removes two prototypes: > > vector int vec_ldl (int, long int *) > vector unsigned int vec_ldl (int, unsigned long int *) > > and adds eight: > > vector bool char vec_ldl (int, bool char *) > vector bool short vec_ldl (int, bool short *) > vector bool int vec_ldl (int, bool int *) > vector bool long long vec_ldl (int, bool long long *) > vector pixel vec_ldl (int, pixel *)
Is "pixel" a type? "vector pixel" is, but plain "pixel"? > vector long long vec_ldl (int, long long *) > vector unsigned long long vec_ldl (int, unsigned long long *) > * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove > erroneous entries for > "vector int vec_ldl (int, long int *)", and > "vector unsigned int vec_ldl (int, unsigned long int *)". Whitespace is weird. I'll just assume this is how you pasted it into the mail and it will be correct in the changelog you commit. > @@ -32855,7 +32855,7 @@ rs6000_mangle_type (const_tree type) > if (type == bool_short_type_node) return "U6__bools"; > if (type == pixel_type_node) return "u7__pixel"; > if (type == bool_int_type_node) return "U6__booli"; > - if (type == bool_long_type_node) return "U6__booll"; > + if (type == bool_long_long_type_node) return "U6__booll"; The mangled name now still says it is "bool long", not "bool long long". Can you do this? At the very least it needs a comment. > --- gcc/config/rs6000/rs6000-c.c (revision 258800) > +++ gcc/config/rs6000/rs6000-c.c (working copy) > @@ -1656,29 +1656,50 @@ const struct altivec_builtin_types altivec_overloa > RS6000_BTI_V16QI, RS6000_BTI_INTSI, ~RS6000_BTI_INTQI, 0 }, > { ALTIVEC_BUILTIN_VEC_LVEBX, ALTIVEC_BUILTIN_LVEBX, > RS6000_BTI_unsigned_V16QI, RS6000_BTI_INTSI, ~RS6000_BTI_UINTQI, 0 > }, > + > + /* vector float vec_ldl (int, vector float *); > + * vector float vec_ldl (int, float *); */ No leading * on comment continuation lines. > --- gcc/testsuite/gcc.target/powerpc/vec-ldl-1.c (nonexistent) > +++ gcc/testsuite/gcc.target/powerpc/vec-ldl-1.c (revision 258889) > @@ -0,0 +1,214 @@ > +/* { dg-do run { target powerpc*-*-* } } */ > +/* { dg-require-effective-target vmx_hw } */ > +/* { dg-require-effective-target lp64 } */ > +/* { dg-options "-maltivec -O0 -Wall" } */ Does this need lp64? Same question for the other tests. Segher