/* Test generation of DFP instructions for POWER6.  */
/* { dg-do compile { target { powerpc*-*-linux* && powerpc_fprs } } } */
/* { dg-require-effective-target dfp } */
/* { dg-options "-std=gnu99 -O1 -mdejagnu-cpu=power6" } */

/* { dg-final { scan-assembler-times "fneg" 1 } } */
/* { dg-final { scan-assembler-times "fabs" 1 } } */
/* { dg-final { scan-assembler-times "fnabs" 1 } } */
/* { dg-final { scan-assembler-times "fmr" 0 } } */

/* These tests verify we only generate fneg, fabs and fnabs
   instructions and no fmr's since these are done in place.  */

_Decimal128
func1 (_Decimal128 a)
{
  return -a;
}

_Decimal128
func2 (_Decimal128 a)
{
  return __builtin_fabsd128 (a);
}

_Decimal128
func3 (_Decimal128 a)
{
  return - __builtin_fabsd128 (a);
}
