apple-altivec-15.c [plain text]
union agg_def {
vector unsigned int v ;
unsigned int i;
};
extern void abort();
int my_vec_all_eq(union agg_def a, union agg_def b);
int compare(int d1, int d2);
int main() {
union agg_def a, b, d1, d2;
d1.i = 0;
d2.i = 1;
a.v = (vector unsigned int) (2,3,4,5);
b.v = (vector unsigned int) (2,3,4,5);
d1.i = my_vec_all_eq(a, b);
d2.i = vec_all_eq(a.v, b.v);
if (compare(d1.i, d2.i))
return 0;
else
abort();
}
int my_vec_all_eq(union agg_def a, union agg_def b) {
return vec_all_eq(a.v, b.v);
}
int compare(int d1, int d2) {
return (d1 == d2);
}