typedef __vector_quad vq_t;
void testVQArg1(__vector_quad vq, int *ptr) { __vector_quad *vqp = (__vector_quad *)ptr;
*vqp = vq;
}
void testVQArg2(const __vector_quad vq, int *ptr) { __vector_quad *vqp = (__vector_quad *)ptr;
*vqp = vq;
}
void testVQArg6(const vq_t vq, int *ptr) { __vector_quad *vqp = (__vector_quad *)ptr;
*vqp = vq;
}
__vector_quad testVQRet1(int *ptr) { __vector_quad *vqp = (__vector_quad *)ptr;
return *vqp; }
const vq_t testVQRet4(int *ptr) { __vector_quad *vqp = (__vector_quad *)ptr;
return *vqp; }
__vector_quad globalvq; const __vector_quad globalvq2; __vector_quad *globalvqp;
const __vector_quad *const globalvqp2;
vq_t globalvq_t;
struct TestVQStruct {
int a;
float b;
__vector_quad c; __vector_quad *vq;
};
int testVQOperators1(int *ptr) {
__vector_quad *vqp = (__vector_quad *)ptr;
__vector_quad vq1 = *(vqp + 0);
__vector_quad vq2 = *(vqp + 1);
__vector_quad vq3 = *(vqp + 2);
if (vq1) *(vqp + 10) = vq1;
if (!vq2) *(vqp + 11) = vq3;
int c1 = vq1 && vq2; int c2 = vq2 == vq3; int c3 = vq2 < vq1; return c1 || c2 || c3;
}
void testVQOperators2(int *ptr) {
__vector_quad *vqp = (__vector_quad *)ptr;
__vector_quad vq1 = *(vqp + 0);
__vector_quad vq2 = *(vqp + 1);
__vector_quad vq3 = *(vqp + 2);
vq1 = -vq1; vq2 = vq1 + vq3; vq2 = vq2 * vq3; vq3 = vq3 | vq3; vq3 = vq3 << 2; *(vqp + 10) = vq1;
*(vqp + 11) = vq2;
*(vqp + 12) = vq3;
}
vector unsigned char testVQOperators3(int *ptr) {
__vector_quad *vqp = (__vector_quad *)ptr;
__vector_quad vq1 = *(vqp + 0);
__vector_quad vq2 = *(vqp + 1);
__vector_quad vq3 = *(vqp + 2);
vq1 ? *(vqp + 10) = vq2 : *(vqp + 11) = vq3; vq2 = vq3;
return vq2[1]; }
void testVQOperators4(int v, void *ptr) {
__vector_quad *vqp = (__vector_quad *)ptr;
__vector_quad vq1 = (__vector_quad)v; __vector_quad vq2 = (__vector_quad)vqp; }
typedef __vector_pair vp_t;
void testVPArg1(__vector_pair vp, int *ptr) { __vector_pair *vpp = (__vector_pair *)ptr;
*vpp = vp;
}
void testVPArg2(const __vector_pair vp, int *ptr) { __vector_pair *vpp = (__vector_pair *)ptr;
*vpp = vp;
}
void testVPArg6(const vp_t vp, int *ptr) { __vector_pair *vpp = (__vector_pair *)ptr;
*vpp = vp;
}
__vector_pair testVPRet1(int *ptr) { __vector_pair *vpp = (__vector_pair *)ptr;
return *vpp; }
const vp_t testVPRet4(int *ptr) { __vector_pair *vpp = (__vector_pair *)ptr;
return *vpp; }
__vector_pair globalvp; const __vector_pair globalvp2; __vector_pair *globalvpp;
const __vector_pair *const globalvpp2;
vp_t globalvp_t;
struct TestVPStruct {
int a;
float b;
__vector_pair c; __vector_pair *vp;
};
int testVPOperators1(int *ptr) {
__vector_pair *vpp = (__vector_pair *)ptr;
__vector_pair vp1 = *(vpp + 0);
__vector_pair vp2 = *(vpp + 1);
__vector_pair vp3 = *(vpp + 2);
if (vp1) *(vpp + 10) = vp1;
if (!vp2) *(vpp + 11) = vp3;
int c1 = vp1 && vp2; int c2 = vp2 == vp3; int c3 = vp2 < vp1; return c1 || c2 || c3;
}
void testVPOperators2(int *ptr) {
__vector_pair *vpp = (__vector_pair *)ptr;
__vector_pair vp1 = *(vpp + 0);
__vector_pair vp2 = *(vpp + 1);
__vector_pair vp3 = *(vpp + 2);
vp1 = -vp1; vp2 = vp1 + vp3; vp2 = vp2 * vp3; vp3 = vp3 | vp3; vp3 = vp3 << 2; *(vpp + 10) = vp1;
*(vpp + 11) = vp2;
*(vpp + 12) = vp3;
}
vector unsigned char testVPOperators3(int *ptr) {
__vector_pair *vpp = (__vector_pair *)ptr;
__vector_pair vp1 = *(vpp + 0);
__vector_pair vp2 = *(vpp + 1);
__vector_pair vp3 = *(vpp + 2);
vp1 ? *(vpp + 10) = vp2 : *(vpp + 11) = vp3; vp2 = vp3;
return vp2[1]; }
void testVPOperators4(int v, void *ptr) {
__vector_pair *vpp = (__vector_pair *)ptr;
__vector_pair vp1 = (__vector_pair)v; __vector_pair vp2 = (__vector_pair)vpp; }
void testBuiltinTypes1(const __vector_pair *vpp, const __vector_pair *vp2, float f) {
__vector_pair vp = __builtin_vsx_lxvp(f, vpp); __builtin_vsx_stxvp(vp, 32799, vp2); }
void testBuiltinTypes2(__vector_pair *vpp, const __vector_pair *vp2, unsigned char c) {
__vector_pair vp = __builtin_vsx_lxvp(6L, vpp); __builtin_vsx_stxvp(vp, c, vp2); }
void testBuiltinTypes3(vector int v, __vector_pair *vp2, signed long l, unsigned short s) {
__vector_pair vp = __builtin_vsx_lxvp(l, v); __builtin_vsx_stxvp(vp, l, s); }
void testRestrictQualifiedPointer1(int *__restrict acc) {
vector float arr[4];
__builtin_mma_disassemble_acc(arr, acc); }
void testVolatileQualifiedPointer1(int *__volatile acc) {
vector float arr[4];
__builtin_mma_disassemble_acc(arr, acc); }