1#include <stdio.h>
2#include <altivec.h>
3
4union si_overlay
5{
6  vector signed int v;
7  int ints[4];
8};
9
10vector signed int
11vec_init ()
12{
13  vector signed int v;
14  static int count = 1;
15
16  ((union si_overlay *) &v)->ints[0] = count++;
17  ((union si_overlay *) &v)->ints[1] = count++;
18  ((union si_overlay *) &v)->ints[2] = count++;
19  ((union si_overlay *) &v)->ints[3] = count++;
20  return v;
21}
22
23void
24vec_print (vector signed int v)
25{
26  printf ("%08x %08x %08x %08x",
27	 ((union si_overlay *) &v)->ints[0],
28	 ((union si_overlay *) &v)->ints[1],
29	 ((union si_overlay *) &v)->ints[2],
30	 ((union si_overlay *) &v)->ints[3]);
31}
32
33