1  #include <altivec.h>
       2  extern vector unsigned char u8(void);
       3  extern vector signed char s8(void);
       4  extern vector bool char b8(void);
       5  extern vector unsigned short u16(void);
       6  extern vector signed short s16(void);
       7  extern vector bool short b16(void);
       8  extern vector unsigned int u32(void);
       9  extern vector signed int s32(void);
      10  extern vector bool int b32(void);
      11  extern vector float f32(void);
      12  extern vector pixel p16(void);
      13  
      14  extern void g(vector unsigned char, ...);
      15  
      16  void
      17  f(vector unsigned char u8p, vector signed char s8p, vector bool char b8p,
      18    vector unsigned short u16p, vector signed short s16p,
      19    vector bool short b16p, vector unsigned int u32p, 
      20    vector signed int s32p, vector bool int b32p,
      21    vector float f32p, vector pixel p16p)
      22  {
      23    vector unsigned char u8l = u8();
      24    vector signed char s8l = s8();
      25    vector bool char b8l = b8();
      26    vector unsigned short u16l = u16();
      27    vector signed short s16l = s16();
      28    vector bool short b16l = b16();
      29    vector unsigned int u32l = u32();
      30    vector signed int s32l = s32();
      31    vector bool int b32l = b32();
      32    vector float f32l = f32();
      33    vector pixel p16l = p16();
      34  
      35    g(u8l, s8l, b8l, u16l, s16l, b16l, u32l, s32l, b32l, f32l, p16l);
      36  }
      37  
      38  vector unsigned char
      39  u8(void)
      40  {
      41    static vector unsigned char zero;
      42    return zero;
      43  }
      44  
      45  vector signed char
      46  s8(void)
      47  {
      48    static vector signed char zero;
      49    return zero;
      50  }
      51  
      52  vector bool char
      53  b8(void)
      54  {
      55    static vector bool char zero;
      56    return zero;
      57  }
      58  
      59  vector unsigned short
      60  u16(void)
      61  {
      62    static vector unsigned short zero;
      63    return zero;
      64  }
      65  
      66  vector signed short
      67  s16(void)
      68  {
      69    static vector signed short zero;
      70    return zero;
      71  }
      72  
      73  vector bool short
      74  b16(void)
      75  {
      76    static vector bool short zero;
      77    return zero;
      78  }
      79  
      80  vector unsigned int
      81  u32(void)
      82  {
      83    static vector unsigned int zero;
      84    return zero;
      85  }
      86  
      87  vector signed int
      88  s32(void)
      89  {
      90    static vector signed int zero;
      91    return zero;
      92  }
      93  
      94  vector bool int
      95  b32(void)
      96  {
      97    static vector bool int zero;
      98    return zero;
      99  }
     100  
     101  vector float
     102  f32(void)
     103  {
     104    static vector float zero;
     105    return zero;
     106  }
     107  
     108  vector pixel
     109  p16(void)
     110  {
     111    static vector pixel zero;
     112    return zero;
     113  }
     114  
     115  void
     116  g(vector unsigned char a, ...)
     117  {
     118  }
     119  
     120  int main()
     121  {
     122    f(u8(), s8(), b8(), u16(), s16(), b16(), u32(), s32(), b32(), f32(), p16());
     123    return 0; 
     124  }