169873Snsayer/* Check that simplification "x*(-1)" -> "-x" is not performed for decimal
269873Snsayer   float types.  */
369873Snsayer
469873Snsayer/* { dg-do compile { target { powerpc*-*-linux* && powerpc_fprs } } } */
569873Snsayer/* { dg-options "-std=gnu99 -O -mcpu=power6" } */
669873Snsayer/* { dg-final { scan-assembler-not "fneg" } } */
769873Snsayer
869873Snsayerextern _Decimal32 a32, b32;
969873Snsayerextern _Decimal64 a64, b64;
1069873Snsayerextern _Decimal128 a128, b128;
1169873Snsayer
1269873Snsayervoid
1369873Snsayerfoo32 (void)
1469873Snsayer{
1569873Snsayer  b32 = a32 * -1.0DF;
1669873Snsayer}
1769873Snsayer
1869873Snsayervoid
1969873Snsayerfoo64 (void)
2069873Snsayer{
2169873Snsayer  b64 = a64 * -1.0DD;
2269873Snsayer}
2369873Snsayer
2469873Snsayervoid
2569873Snsayerfoo128 (void)
2669873Snsayer{
2769873Snsayer  b128 = a128 * -1.0DL;
2869873Snsayer}
2969873Snsayer