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