(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pr46728-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -ffast-math -fno-inline -fno-unroll-loops -lm -mpowerpc-gpopt -fno-ident" } */
       3  
       4  #include <math.h>
       5  
       6  extern void abort (void);
       7  
       8  #define NVALS 6
       9  
      10  static double
      11  convert_it (double x)
      12  {
      13    return pow (x, 0.25);
      14  }
      15  
      16  int
      17  main (int argc, char *argv[])
      18  {
      19    double values[NVALS] = { 3.0, 1.95, 2.227, 4.0, 256.0, .0008797 };
      20    unsigned i;
      21  
      22    for (i = 0; i < NVALS; i++)
      23      if (convert_it (values[i]) != sqrt (sqrt (values[i])))
      24        abort ();
      25  
      26    return 0;
      27  }
      28  
      29  
      30  /* { dg-final { scan-assembler-times "fsqrt|xssqrtdp" 4 { target powerpc*-*-* } } } */
      31  /* { dg-final { scan-assembler-not "bl\[\\. \]+pow" { target powerpc*-*-* } } } */