(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
ppc-round2.c
       1  /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
       2  /* { dg-skip-if "" { powerpc*-*-darwin* } } */
       3  /* { dg-require-effective-target powerpc_p8vector_ok } */
       4  /* { dg-options "-O2 -mdejagnu-cpu=power8" } */
       5  /* { dg-final { scan-assembler-times "fcfid \|xscvsxddp "    2 } } */
       6  /* { dg-final { scan-assembler-times "fcfids \|xscvsxdsp "   2 } } */
       7  /* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws "  2 } } */
       8  /* { dg-final { scan-assembler-times "fctiwuz \|xscvdpuxws " 2 } } */
       9  /* { dg-final { scan-assembler-times {\mmfvsrwz\M}           2 } } */
      10  /* { dg-final { scan-assembler-times {\mmtvsrwz\M}           2 } } */
      11  /* { dg-final { scan-assembler-times {\mvupkhsw\M}           2 } } */
      12  /* { dg-final { scan-assembler-times {\mxxpermdi\M}          2 } } */
      13  /* { dg-final { scan-assembler-not   {\mmfvsrd\M}              } } */
      14  /* { dg-final { scan-assembler-not   {\mmtvsrwa\M}             } } */
      15  /* { dg-final { scan-assembler-not   {\mlwz\M}                 } } */
      16  /* { dg-final { scan-assembler-not   {\mlfiwax\M}              } } */
      17  /* { dg-final { scan-assembler-not   {\mlfiwzx\M}              } } */
      18  /* { dg-final { scan-assembler-not   {\mstw\M}                 } } */
      19  /* { dg-final { scan-assembler-not   {\mstfiwx\M}              } } */
      20  
      21  /* Make sure we don't have loads/stores to the GPR unit.  */
      22  double
      23  round_double_int (double a)
      24  {
      25    return (double)(int)a;
      26  }
      27  
      28  float
      29  round_float_int (float a)
      30  {
      31    return (float)(int)a;
      32  }
      33  
      34  double
      35  round_double_uint (double a)
      36  {
      37    return (double)(unsigned int)a;
      38  }
      39  
      40  float
      41  round_float_uint (float a)
      42  {
      43    return (float)(unsigned int)a;
      44  }