From 4768dbddcd8b626899574a5d10651e68d27f9328 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 19 Oct 2001 21:28:03 +0200 Subject: simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg field is different to previous argument's neg field. * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg field is different to previous argument's neg field. * gcc.c-torture/execute/20011019-1.c: New test. From-SVN: r46356 --- gcc/simplify-rtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/simplify-rtx.c') diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 2b7e3a2..bdeb265 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -1882,7 +1882,7 @@ simplify_plus_minus (code, mode, op0, op1) && CONSTANT_P (ops[n_ops - 2].op)) { HOST_WIDE_INT value = INTVAL (ops[n_ops - 1].op); - if (ops[n_ops - 1].neg) + if (ops[n_ops - 1].neg ^ ops[n_ops - 2].neg) value = -value; ops[n_ops - 2].op = plus_constant (ops[n_ops - 2].op, value); n_ops--; -- cgit v1.1