--- /dev/null
+/* { dg-do compile } */
+
+/* Checks from the original ops.c that pass pointers to long or
+ unsigned long for operations that support that in released versions
+ of <altivec.h>. */
+
+#include <altivec.h>
+#include <stdlib.h>
+extern int *var_int;
+extern long * *var_long_ptr;
+extern unsigned long * *var_unsigned_long_ptr;
+extern vector signed int * *var_vec_s32_ptr;
+extern vector signed int *var_vec_s32;
+extern vector unsigned char * *var_vec_u8_ptr;
+extern vector unsigned char *var_vec_u8;
+extern vector unsigned int * *var_vec_u32_ptr;
+extern vector unsigned int *var_vec_u32;
+
+void f13() {
+ *var_vec_s32++ = vec_ld(var_int[0], var_long_ptr[1]);
+ *var_vec_s32++ = vec_lde(var_int[0], var_long_ptr[1]);
+ *var_vec_s32++ = vec_ldl(var_int[0], var_long_ptr[1]);
+ *var_vec_s32++ = vec_lvewx(var_int[0], var_long_ptr[1]);
+ *var_vec_s32++ = vec_lvx(var_int[0], var_long_ptr[1]);
+ *var_vec_s32++ = vec_lvxl(var_int[0], var_long_ptr[1]);
+}
+void f22() {
+ *var_vec_u32++ = vec_ld(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u32++ = vec_lde(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u32++ = vec_ldl(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u32++ = vec_lvewx(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u32++ = vec_lvx(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u32++ = vec_lvxl(var_int[0], var_unsigned_long_ptr[1]);
+}
+void f25() {
+ *var_vec_u8++ = vec_lvsl(var_int[0], var_long_ptr[1]);
+ *var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_long_ptr[1]);
+ *var_vec_u8++ = vec_lvsr(var_int[0], var_long_ptr[1]);
+ *var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_long_ptr[1]);
+}
+void f33() {
+ vec_dst(var_long_ptr[0], var_int[1], 0);
+ vec_dst(var_long_ptr[0], var_int[1], 1);
+ vec_dst(var_long_ptr[0], var_int[1], 2);
+ vec_dst(var_long_ptr[0], var_int[1], 3);
+ vec_dst(var_unsigned_long_ptr[0], var_int[1], 0);
+ vec_dst(var_unsigned_long_ptr[0], var_int[1], 1);
+ vec_dst(var_unsigned_long_ptr[0], var_int[1], 2);
+ vec_dst(var_unsigned_long_ptr[0], var_int[1], 3);
+}
+void f34() {
+ vec_dstst(var_long_ptr[0], var_int[1], 0);
+ vec_dstst(var_long_ptr[0], var_int[1], 1);
+ vec_dstst(var_long_ptr[0], var_int[1], 2);
+ vec_dstst(var_long_ptr[0], var_int[1], 3);
+ vec_dstst(var_unsigned_long_ptr[0], var_int[1], 0);
+ vec_dstst(var_unsigned_long_ptr[0], var_int[1], 1);
+ vec_dstst(var_unsigned_long_ptr[0], var_int[1], 2);
+ vec_dstst(var_unsigned_long_ptr[0], var_int[1], 3);
+}
+void f35() {
+ vec_dststt(var_long_ptr[0], var_int[1], 0);
+ vec_dststt(var_long_ptr[0], var_int[1], 1);
+ vec_dststt(var_long_ptr[0], var_int[1], 2);
+ vec_dststt(var_long_ptr[0], var_int[1], 3);
+ vec_dststt(var_unsigned_long_ptr[0], var_int[1], 0);
+ vec_dststt(var_unsigned_long_ptr[0], var_int[1], 1);
+ vec_dststt(var_unsigned_long_ptr[0], var_int[1], 2);
+ vec_dststt(var_unsigned_long_ptr[0], var_int[1], 3);
+ vec_dstt(var_long_ptr[0], var_int[1], 0);
+ vec_dstt(var_long_ptr[0], var_int[1], 1);
+ vec_dstt(var_long_ptr[0], var_int[1], 2);
+ vec_dstt(var_long_ptr[0], var_int[1], 3);
+}
+void f36() {
+ vec_dstt(var_unsigned_long_ptr[0], var_int[1], 0);
+ vec_dstt(var_unsigned_long_ptr[0], var_int[1], 1);
+ vec_dstt(var_unsigned_long_ptr[0], var_int[1], 2);
+ vec_dstt(var_unsigned_long_ptr[0], var_int[1], 3);
+}
extern int *var_cc26td;
extern int *var_cc26tr;
extern int *var_int;
-extern long * *var_long_ptr;
extern short * *var_short_ptr;
extern signed char * *var_signed_char_ptr;
extern unsigned char * *var_unsigned_char_ptr;
extern unsigned int * *var_unsigned_int_ptr;
-extern unsigned long * *var_unsigned_long_ptr;
extern unsigned short * *var_unsigned_short_ptr;
extern vector bool char * *var_vec_b8_ptr;
extern vector bool char *var_vec_b8;
*var_vec_s32++ = vec_cts(var_vec_f32[0], 30);
*var_vec_s32++ = vec_cts(var_vec_f32[0], 31);
*var_vec_s32++ = vec_ld(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_ld(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_ld(var_int[0], var_vec_s32_ptr[1]);
*var_vec_s32++ = vec_lde(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_lde(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_ldl(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_ldl(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_ldl(var_int[0], var_vec_s32_ptr[1]);
*var_vec_s32++ = vec_lvewx(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_lvewx(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_lvx(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_lvx(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_lvx(var_int[0], var_vec_s32_ptr[1]);
*var_vec_s32++ = vec_lvxl(var_int[0], var_int_ptr[1]);
- *var_vec_s32++ = vec_lvxl(var_int[0], var_long_ptr[1]);
*var_vec_s32++ = vec_lvxl(var_int[0], var_vec_s32_ptr[1]);
*var_vec_s32++ = vec_max(var_vec_b32[0], var_vec_s32[1]);
*var_vec_s32++ = vec_max(var_vec_s32[0], var_vec_b32[1]);
*var_vec_u32++ = vec_ctu(var_vec_f32[0], 30);
*var_vec_u32++ = vec_ctu(var_vec_f32[0], 31);
*var_vec_u32++ = vec_ld(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_ld(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_ld(var_int[0], var_vec_u32_ptr[1]);
*var_vec_u32++ = vec_lde(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_lde(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_ldl(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_ldl(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_ldl(var_int[0], var_vec_u32_ptr[1]);
*var_vec_u32++ = vec_lvewx(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_lvewx(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_lvx(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_lvx(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_lvx(var_int[0], var_vec_u32_ptr[1]);
*var_vec_u32++ = vec_lvxl(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u32++ = vec_lvxl(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u32++ = vec_lvxl(var_int[0], var_vec_u32_ptr[1]);
*var_vec_u32++ = vec_max(var_vec_b32[0], var_vec_u32[1]);
*var_vec_u32++ = vec_max(var_vec_u32[0], var_vec_b32[1]);
*var_vec_u8++ = vec_lvebx(var_int[0], var_unsigned_char_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_float_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_int_ptr[1]);
- *var_vec_u8++ = vec_lvsl(var_int[0], var_long_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_short_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_signed_char_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_char_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_short_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_float_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_int_ptr[1]);
- *var_vec_u8++ = vec_lvsr(var_int[0], var_long_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_short_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_signed_char_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_char_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_int_ptr[1]);
- *var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_long_ptr[1]);
*var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_short_ptr[1]);
*var_vec_u8++ = vec_lvx(var_int[0], var_unsigned_char_ptr[1]);
*var_vec_u8++ = vec_lvx(var_int[0], var_vec_u8_ptr[1]);
vec_dst(var_int_ptr[0], var_int[1], 1);
vec_dst(var_int_ptr[0], var_int[1], 2);
vec_dst(var_int_ptr[0], var_int[1], 3);
- vec_dst(var_long_ptr[0], var_int[1], 0);
- vec_dst(var_long_ptr[0], var_int[1], 1);
- vec_dst(var_long_ptr[0], var_int[1], 2);
- vec_dst(var_long_ptr[0], var_int[1], 3);
vec_dst(var_short_ptr[0], var_int[1], 0);
vec_dst(var_short_ptr[0], var_int[1], 1);
vec_dst(var_short_ptr[0], var_int[1], 2);
vec_dst(var_unsigned_int_ptr[0], var_int[1], 1);
vec_dst(var_unsigned_int_ptr[0], var_int[1], 2);
vec_dst(var_unsigned_int_ptr[0], var_int[1], 3);
- vec_dst(var_unsigned_long_ptr[0], var_int[1], 0);
- vec_dst(var_unsigned_long_ptr[0], var_int[1], 1);
- vec_dst(var_unsigned_long_ptr[0], var_int[1], 2);
- vec_dst(var_unsigned_long_ptr[0], var_int[1], 3);
vec_dst(var_unsigned_short_ptr[0], var_int[1], 0);
vec_dst(var_unsigned_short_ptr[0], var_int[1], 1);
vec_dst(var_unsigned_short_ptr[0], var_int[1], 2);
vec_dstst(var_int_ptr[0], var_int[1], 1);
vec_dstst(var_int_ptr[0], var_int[1], 2);
vec_dstst(var_int_ptr[0], var_int[1], 3);
- vec_dstst(var_long_ptr[0], var_int[1], 0);
- vec_dstst(var_long_ptr[0], var_int[1], 1);
- vec_dstst(var_long_ptr[0], var_int[1], 2);
- vec_dstst(var_long_ptr[0], var_int[1], 3);
vec_dstst(var_short_ptr[0], var_int[1], 0);
vec_dstst(var_short_ptr[0], var_int[1], 1);
vec_dstst(var_short_ptr[0], var_int[1], 2);
vec_dstst(var_unsigned_int_ptr[0], var_int[1], 1);
vec_dstst(var_unsigned_int_ptr[0], var_int[1], 2);
vec_dstst(var_unsigned_int_ptr[0], var_int[1], 3);
- vec_dstst(var_unsigned_long_ptr[0], var_int[1], 0);
- vec_dstst(var_unsigned_long_ptr[0], var_int[1], 1);
- vec_dstst(var_unsigned_long_ptr[0], var_int[1], 2);
- vec_dstst(var_unsigned_long_ptr[0], var_int[1], 3);
vec_dstst(var_unsigned_short_ptr[0], var_int[1], 0);
vec_dstst(var_unsigned_short_ptr[0], var_int[1], 1);
vec_dstst(var_unsigned_short_ptr[0], var_int[1], 2);
vec_dststt(var_int_ptr[0], var_int[1], 1);
vec_dststt(var_int_ptr[0], var_int[1], 2);
vec_dststt(var_int_ptr[0], var_int[1], 3);
- vec_dststt(var_long_ptr[0], var_int[1], 0);
- vec_dststt(var_long_ptr[0], var_int[1], 1);
- vec_dststt(var_long_ptr[0], var_int[1], 2);
- vec_dststt(var_long_ptr[0], var_int[1], 3);
vec_dststt(var_short_ptr[0], var_int[1], 0);
vec_dststt(var_short_ptr[0], var_int[1], 1);
vec_dststt(var_short_ptr[0], var_int[1], 2);
vec_dststt(var_unsigned_int_ptr[0], var_int[1], 1);
vec_dststt(var_unsigned_int_ptr[0], var_int[1], 2);
vec_dststt(var_unsigned_int_ptr[0], var_int[1], 3);
- vec_dststt(var_unsigned_long_ptr[0], var_int[1], 0);
- vec_dststt(var_unsigned_long_ptr[0], var_int[1], 1);
- vec_dststt(var_unsigned_long_ptr[0], var_int[1], 2);
- vec_dststt(var_unsigned_long_ptr[0], var_int[1], 3);
vec_dststt(var_unsigned_short_ptr[0], var_int[1], 0);
vec_dststt(var_unsigned_short_ptr[0], var_int[1], 1);
vec_dststt(var_unsigned_short_ptr[0], var_int[1], 2);
vec_dstt(var_int_ptr[0], var_int[1], 1);
vec_dstt(var_int_ptr[0], var_int[1], 2);
vec_dstt(var_int_ptr[0], var_int[1], 3);
- vec_dstt(var_long_ptr[0], var_int[1], 0);
- vec_dstt(var_long_ptr[0], var_int[1], 1);
- vec_dstt(var_long_ptr[0], var_int[1], 2);
- vec_dstt(var_long_ptr[0], var_int[1], 3);
}
void f36() {
vec_dstt(var_short_ptr[0], var_int[1], 0);
vec_dstt(var_unsigned_int_ptr[0], var_int[1], 1);
vec_dstt(var_unsigned_int_ptr[0], var_int[1], 2);
vec_dstt(var_unsigned_int_ptr[0], var_int[1], 3);
- vec_dstt(var_unsigned_long_ptr[0], var_int[1], 0);
- vec_dstt(var_unsigned_long_ptr[0], var_int[1], 1);
- vec_dstt(var_unsigned_long_ptr[0], var_int[1], 2);
- vec_dstt(var_unsigned_long_ptr[0], var_int[1], 3);
vec_dstt(var_unsigned_short_ptr[0], var_int[1], 0);
vec_dstt(var_unsigned_short_ptr[0], var_int[1], 1);
vec_dstt(var_unsigned_short_ptr[0], var_int[1], 2);
vec_st(var_vec_s16[0], var_int[1], var_short_ptr[2]);
vec_st(var_vec_s16[0], var_int[1], var_vec_s16_ptr[2]);
vec_st(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_st(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_st(var_vec_s32[0], var_int[1], var_vec_s32_ptr[2]);
vec_st(var_vec_s8[0], var_int[1], var_signed_char_ptr[2]);
vec_st(var_vec_s8[0], var_int[1], var_vec_s8_ptr[2]);
vec_st(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_st(var_vec_u16[0], var_int[1], var_vec_u16_ptr[2]);
vec_st(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_st(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_st(var_vec_u32[0], var_int[1], var_vec_u32_ptr[2]);
vec_st(var_vec_u8[0], var_int[1], var_unsigned_char_ptr[2]);
vec_st(var_vec_u8[0], var_int[1], var_vec_u8_ptr[2]);
}
void f37() {
vec_ste(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_ste(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_ste(var_vec_s8[0], var_int[1], var_signed_char_ptr[2]);
vec_ste(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_ste(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_ste(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_ste(var_vec_u8[0], var_int[1], var_unsigned_char_ptr[2]);
vec_stl(var_vec_b16[0], var_int[1], var_vec_b16_ptr[2]);
vec_stl(var_vec_b32[0], var_int[1], var_vec_b32_ptr[2]);
vec_stl(var_vec_s16[0], var_int[1], var_short_ptr[2]);
vec_stl(var_vec_s16[0], var_int[1], var_vec_s16_ptr[2]);
vec_stl(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_stl(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_stl(var_vec_s32[0], var_int[1], var_vec_s32_ptr[2]);
vec_stl(var_vec_s8[0], var_int[1], var_signed_char_ptr[2]);
vec_stl(var_vec_s8[0], var_int[1], var_vec_s8_ptr[2]);
vec_stl(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_stl(var_vec_u16[0], var_int[1], var_vec_u16_ptr[2]);
vec_stl(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_stl(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_stl(var_vec_u32[0], var_int[1], var_vec_u32_ptr[2]);
vec_stl(var_vec_u8[0], var_int[1], var_unsigned_char_ptr[2]);
vec_stl(var_vec_u8[0], var_int[1], var_vec_u8_ptr[2]);
vec_stvehx(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_stvewx(var_vec_f32[0], var_int[1], var_float_ptr[2]);
vec_stvewx(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_stvewx(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_stvewx(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_stvewx(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_stvx(var_vec_b16[0], var_int[1], var_vec_b16_ptr[2]);
vec_stvx(var_vec_b32[0], var_int[1], var_vec_b32_ptr[2]);
vec_stvx(var_vec_b8[0], var_int[1], var_vec_b8_ptr[2]);
vec_stvx(var_vec_s16[0], var_int[1], var_short_ptr[2]);
vec_stvx(var_vec_s16[0], var_int[1], var_vec_s16_ptr[2]);
vec_stvx(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_stvx(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_stvx(var_vec_s32[0], var_int[1], var_vec_s32_ptr[2]);
vec_stvx(var_vec_s8[0], var_int[1], var_signed_char_ptr[2]);
vec_stvx(var_vec_s8[0], var_int[1], var_vec_s8_ptr[2]);
vec_stvx(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_stvx(var_vec_u16[0], var_int[1], var_vec_u16_ptr[2]);
vec_stvx(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_stvx(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_stvx(var_vec_u32[0], var_int[1], var_vec_u32_ptr[2]);
vec_stvx(var_vec_u8[0], var_int[1], var_unsigned_char_ptr[2]);
vec_stvx(var_vec_u8[0], var_int[1], var_vec_u8_ptr[2]);
vec_stvxl(var_vec_s16[0], var_int[1], var_short_ptr[2]);
vec_stvxl(var_vec_s16[0], var_int[1], var_vec_s16_ptr[2]);
vec_stvxl(var_vec_s32[0], var_int[1], var_int_ptr[2]);
- vec_stvxl(var_vec_s32[0], var_int[1], var_long_ptr[2]);
vec_stvxl(var_vec_s32[0], var_int[1], var_vec_s32_ptr[2]);
vec_stvxl(var_vec_s8[0], var_int[1], var_signed_char_ptr[2]);
vec_stvxl(var_vec_s8[0], var_int[1], var_vec_s8_ptr[2]);
vec_stvxl(var_vec_u16[0], var_int[1], var_unsigned_short_ptr[2]);
vec_stvxl(var_vec_u16[0], var_int[1], var_vec_u16_ptr[2]);
vec_stvxl(var_vec_u32[0], var_int[1], var_unsigned_int_ptr[2]);
- vec_stvxl(var_vec_u32[0], var_int[1], var_unsigned_long_ptr[2]);
vec_stvxl(var_vec_u32[0], var_int[1], var_vec_u32_ptr[2]);
vec_stvxl(var_vec_u8[0], var_int[1], var_unsigned_char_ptr[2]);
vec_stvxl(var_vec_u8[0], var_int[1], var_vec_u8_ptr[2]);