blob: 19701c84addb680b59ef74e76c4949956f3a6b7a [file] [log] [blame]
/* { dg-do compile { target lp64 } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mdejagnu-cpu=power9 -O2" } */
/* Note that for unsigned cases, the differences from those ones in
p9-fpcvt-2.c is that they will be converted to int implicitly first
and then to floating point. */
double sc_df (signed char *p, double df) { return *p + df; }
double uc_df (unsigned char *p, double df) { return *p + df; }
double ss_df (signed short *p, double df) { return *p + df; }
double us_df (unsigned short *p, double df) { return *p + df; }
float sc_sf (signed char *p, float sf) { return *p + sf; }
float uc_sf (unsigned char *p, float sf) { return *p + sf; }
float ss_sf (signed short *p, float sf) { return *p + sf; }
float us_sf (unsigned short *p, float sf) { return *p + sf; }
/* { dg-final { scan-assembler {\mlxsibzx\M} } } */
/* { dg-final { scan-assembler {\mlxsihzx\M} } } */
/* { dg-final { scan-assembler {\mvextsb2d\M} } } */
/* { dg-final { scan-assembler {\mvextsh2d\M} } } */
/* { dg-final { scan-assembler-not {\mm[tf]vsr} } } */