/* { dg-do run { target { powerpc*-*-* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-require-effective-target powerpc_fprs } */
/* { dg-options "-O2 -mdejagnu-cpu=power5 -std=c99" } */

#ifndef __FP_FAST_FMA
#error "__FP_FAST_FMA should be defined"
#endif

#ifndef __FP_FAST_FMAF
#error "__FP_FAST_FMAF should be defined"
#endif

double d_a = 2.0,  d_b = 3.0,  d_c = 4.0;
float  f_a = 2.0f, f_b = 3.0f, f_c = 4.0f;

int
main (void)
{
  if (__builtin_fma (d_a, d_b, d_c) != (2.0 * 3.0) + 4.0)
    __builtin_abort ();

  if (__builtin_fmaf (f_a, f_b, f_c) != (2.0f * 3.0f) + 4.0f)
    __builtin_abort ();

  return 0;
}
