1  /* { dg-do compile } */
       2  #include <altivec.h>
       3  vector signed short s16ss() { vector signed short a; return vec_subs(a,a); }
       4  vector signed short s16s() { vector signed short a; return vec_sub(a,a); }
       5  vector signed short s16x() { vector signed short a; return vec_xor(a,a); }
       6  vector signed short s16a() { vector signed short a; return vec_andc(a,a); }
       7  vector unsigned char u8;
       8  vector signed short s16;
       9  vector bool int b32;
      10  vector float f32;
      11  vector pixel p16;
      12  void x()
      13  {
      14    u8 = ((vector unsigned char){3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3});
      15    s16 = ((vector signed short){-7,-7,-7,-7,-7,-7,-7,-7});
      16    b32 = ((vector bool int) {10,20,30,40});
      17    f32 = ((vector float) {2,4,6,8});
      18    p16 = ((vector pixel){23,23,23,23,23,23,23,23});
      19  }
      20  vector unsigned int a;
      21  vector unsigned int b;
      22  void f(void) {
      23    a = ((vector unsigned int){1,1,1,1});
      24    b = ((vector unsigned int){1,2,3,4});
      25  }