void foo(vector unsigned short) { }
void foo(vector signed short) { }
void foo(vector bool short) { }
-void foo(vector unsigned long) { } /* { dg-warning "use of .long. in AltiVec types is deprecated. use .int." } */
-void foo(vector signed long) { } /* { dg-warning "use of .long. in AltiVec types is deprecated. use .int." } */
-void foo(vector bool long) { } /* { dg-warning "use of .long. in AltiVec types is deprecated. use .int." } */
+void foo(vector unsigned int) { }
+void foo(vector signed int) { }
+void foo(vector bool int) { }
void foo(vector float) { }
void foo(vector pixel) { }
void foo(int) { }
--- /dev/null
+/* { dg-do compile { target powerpc-*-* } } */
+/* { dg-options "-maltivec" } */
+
+#include <altivec.h>
+
+vector bool long vbl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector signed long vsl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector unsigned long vul; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector bool long *pvbl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector signed long *pvsl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector unsigned long *pvul; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+
+void fvbl (vector bool long v) { } /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+void fvsl (vector signed long v) { } /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+void fvul (vector unsigned long v) { } /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+
+int main ()
+{
+ vector bool long lvbl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+ vector signed long lvsl; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+ vector unsigned long lvul; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+ return 0;
+}
#include <altivec.h>
-long **longp;
+int **intp;
int *var_int;
-unsigned long **ulongp;
+unsigned int **uintp;
vector pixel *varpixel;
vector signed char *vecchar;
-vector signed long *vecint; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector signed int *vecint;
vector signed short *vecshort;
vector unsigned char *vecuchar;
-vector unsigned long *vecuint; /* { dg-warning "use of .long. in AltiVec types is deprecated; use .int." } */
+vector unsigned int *vecuint;
vector unsigned short *vecushort;
vector float *vecfloat;
*varpixel++ = vec_packpx(vecuint[0], vecuint[1]);
*varpixel++ = vec_vpkpx(vecuint[0], vecuint[1]);
*vecshort++ = vec_vmulosb(vecchar[0], vecchar[1]);
- *vecint++ = vec_ld(var_int[0], longp[1]);
- *vecint++ = vec_lde(var_int[0], longp[1]);
- *vecint++ = vec_ldl(var_int[0], longp[1]);
- *vecint++ = vec_lvewx(var_int[0], longp[1]);
+ *vecint++ = vec_ld(var_int[0], intp[1]);
+ *vecint++ = vec_lde(var_int[0], intp[1]);
+ *vecint++ = vec_ldl(var_int[0], intp[1]);
+ *vecint++ = vec_lvewx(var_int[0], intp[1]);
*vecint++ = vec_unpackh(vecshort[0]);
*vecint++ = vec_unpackl(vecshort[0]);
*vecushort++ = vec_andc((vector bool short)vecshort[0], vecushort[1]);
*vecushort++ = vec_andc(vecushort[0], (vector bool short)vecshort[1]);
*vecushort++ = vec_vxor((vector bool short)vecshort[0], vecushort[1]);
*vecushort++ = vec_vxor(vecushort[0], (vector bool short)vecshort[1]);
- *vecuint++ = vec_ld(var_int[0], ulongp[1]);
- *vecuint++ = vec_lvx(var_int[0], ulongp[1]);
+ *vecuint++ = vec_ld(var_int[0], uintp[1]);
+ *vecuint++ = vec_lvx(var_int[0], uintp[1]);
*vecuint++ = vec_vmsumubm(vecuchar[0], vecuchar[1], vecuint[2]);
*vecuchar++ = vec_xor(vecuchar[0], (vector unsigned char)vecchar[1]);