(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
vec-splat-constant-sf.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target power10_ok } */
       3  /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
       4  
       5  #include <math.h>
       6  
       7  /* Test generating SFmode constants with the ISA 3.1 (power10) XXSPLTIDP
       8     instruction.  */
       9  
      10  float
      11  scalar_float_0 (void)
      12  {
      13    return 0.0f;			/* XXSPLTIB or XXLXOR.  */
      14  }
      15  
      16  float
      17  scalar_float_1 (void)
      18  {
      19    return 1.0f;			/* XXSPLTIDP.  */
      20  }
      21  
      22  #ifndef __FAST_MATH__
      23  float
      24  scalar_float_m0 (void)
      25  {
      26    return -0.0f;			/* XXSPLTIDP.  */
      27  }
      28  
      29  float
      30  scalar_float_nan (void)
      31  {
      32    return __builtin_nanf ("");	/* XXSPLTIDP.  */
      33  }
      34  
      35  float
      36  scalar_float_inf (void)
      37  {
      38    return __builtin_inff ();	/* XXSPLTIDP.  */
      39  }
      40  
      41  float
      42  scalar_float_m_inf (void)	/* XXSPLTIDP.  */
      43  {
      44    return - __builtin_inff ();
      45  }
      46  #endif
      47  
      48  float
      49  scalar_float_pi (void)
      50  {
      51    return (float)M_PI;		/* XXSPLTIDP.  */
      52  }
      53  
      54  float
      55  scalar_float_denorm (void)
      56  {
      57    return 0x1p-149f;		/* PLFS.  */
      58  }
      59  
      60  /* { dg-final { scan-assembler-times {\mxxspltidp\M} 6 } } */