(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
bfp/
vec-extract-sig-4.c
       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 int
       9  get_significands (__vector float *p)
      10  {
      11    __vector float source = *p;
      12  
      13    return vec_extract_sig (source);
      14  }
      15  
      16  int
      17  main ()
      18  {
      19    __vector float argument;
      20    __vector unsigned int result;
      21  
      22    argument[0] = (float) (0x1234 << 10);
      23    argument[1] = (float) (0x4321 << 9);
      24    argument[2] = (float) (0xbabe << 8);
      25    argument[3] = (float) (0xcafe << 7);
      26  
      27    result = get_significands (&argument);
      28    if ((result[0] != 0x91a000) || (result[1] != 0x864200) ||
      29        (result[2] != 0xbabe00) || (result[3] != 0xcafe00))
      30      abort();
      31    return 0;
      32  }