mips-nmadd-2.c   [plain text]


/* { dg-do compile { target "mips*-*-*" } } */
/* { dg-options "-O2 -fno-fast-math -mips4" } */
/* { dg-final { scan-assembler "nmadd.s" } } */
/* { dg-final { scan-assembler "nmadd.d" } } */
/* { dg-final { scan-assembler "nmsub.s" } } */
/* { dg-final { scan-assembler "nmsub.d" } } */

#if (__mips != 4 && __mips != 64) || __mips_soft_float
asm ("# nmadd.s nmadd.d nmsub.s nmsub.d");
#else
float
sub1 (float f, float g, float h)
{
  return -((f * g) + h);
}

double
sub2 (double f, double g, double h)
{
  return -((f * g) + h);
}

float
sub3 (float f, float g, float h)
{
  return -((f * g) - h);
}

double
sub4 (double f, double g, double h)
{
  return -((f * g) - h);
}
#endif