(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
p9-fpcvt-3.c
       1  /* { dg-do compile { target lp64 } } */
       2  /* { dg-require-effective-target powerpc_p9vector_ok } */
       3  /* { dg-options "-mdejagnu-cpu=power9 -O2" } */
       4  
       5  /* Note that for unsigned cases, the differences from those ones in
       6     p9-fpcvt-2.c is that they will be converted to int implicitly first
       7     and then to floating point.  */
       8  
       9  double sc_df (signed char    *p, double df) { return *p + df; }
      10  double uc_df (unsigned char  *p, double df) { return *p + df; }
      11  double ss_df (signed short   *p, double df) { return *p + df; }
      12  double us_df (unsigned short *p, double df) { return *p + df; }
      13  
      14  float sc_sf (signed char    *p, float sf) { return *p + sf; }
      15  float uc_sf (unsigned char  *p, float sf) { return *p + sf; }
      16  float ss_sf (signed short   *p, float sf) { return *p + sf; }
      17  float us_sf (unsigned short *p, float sf) { return *p + sf; }
      18  
      19  /* { dg-final { scan-assembler     {\mlxsibzx\M}  } } */
      20  /* { dg-final { scan-assembler     {\mlxsihzx\M}  } } */
      21  /* { dg-final { scan-assembler     {\mvextsb2d\M} } } */
      22  /* { dg-final { scan-assembler     {\mvextsh2d\M} } } */
      23  /* { dg-final { scan-assembler-not {\mm[tf]vsr}   } } */