1  /* { dg-do run { target { powerpc*-*-* } } } */
       2  /* { dg-require-effective-target p9vector_hw } */
       3  /* { dg-options "-mdejagnu-cpu=power9" } */
       4  
       5  #include <altivec.h>
       6  #include <stdlib.h>
       7  
       8  __vector unsigned long long int
       9  get_significands (__vector double *p)
      10  {
      11    __vector double source = *p;
      12  
      13    return vec_extract_sig (source);
      14  }
      15  
      16  int
      17  main ()
      18  {
      19    __vector double argument;
      20    __vector unsigned long long int result;
      21  
      22    argument[0] = (double) (0xbabeLL << 22);
      23    argument[1] = (double) (0xcafeLL << 23);
      24  
      25    result = get_significands (&argument);
      26    if ((result[0] != (0xbabeULL << 37)) || (result[1] != (0xcafeULL << 37)))
      27      abort();
      28    return 0;
      29  }
      30