1  /* { dg-do compile } */
       2  #include <altivec.h>
       3  vector  unsigned char   u8a,  u8b,  u8c,  u8d, *u8ptr;
       4  vector  signed short s16a, s16b, s16c, s16d;
       5  vector  unsigned short u16a, u16b, u16c, u16d;
       6  vector  unsigned int u32a, u32b, u32c, u32d;
       7  vector  float f32a, f32b, f32c, f32d, f32e;
       8  int i, j, *p;
       9  
      10  void test()
      11  {
      12          u8c  = vec_add(u8a, u8b);
      13          f32c = vec_ceil(f32a);
      14          f32d = vec_vcfux(u32a, 31U);
      15          s16c = vec_splat_s16(-16);
      16          u8d  = vec_vsldoi(u8a, u8b, 15);
      17          f32e = vec_vmaddfp(f32a, f32b, f32c);
      18           
      19          vec_dss(3);
      20          vec_dssall();
      21          vec_mtvscr(u8a);
      22          u16a = vec_mfvscr();
      23  }