1  /* { dg-do run { target { powerpc*-*-linux* } } } */
       2  /* { dg-skip-if "" { powerpc*-*-darwin* } } */
       3  /* { dg-require-effective-target vsx_hw } */
       4  /* { dg-options "-O1 -mdejagnu-cpu=power7" } */
       5  
       6  extern void abort (void);
       7  
       8  typedef long long T;
       9  typedef T vl_t __attribute__((vector_size(2 * sizeof (T))));
      10  
      11  vl_t
      12  buggy_func (T x)
      13  {
      14    vl_t w;
      15    T *p = (T *)&w;
      16    p[0] = p[1] = x;
      17    return w;
      18  }
      19  
      20  int
      21  main(void)
      22  {
      23    vl_t rval;
      24    T *pl;
      25  
      26    pl = (T *) &rval;
      27    rval = buggy_func (2);
      28  
      29    if (pl[0] != 2 || pl[1] != 2)
      30      abort ();
      31  
      32    return 0;
      33  }