From bf743ac5ed9fc641a83dc52fd0e7f099518aa647 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 27 Jan 1993 19:22:17 -0500 Subject: [PATCH] (compare_from_rtx): Only swap operand if first is a constant and second is not. From-SVN: r3370 --- gcc/expr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index 1a3cd5b5343..6b4a57a3526 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -7116,9 +7116,11 @@ compare_from_rtx (op0, op1, code, unsignedp, mode, size, align) { rtx tem; - /* If one operand is constant, make it the second one. */ + /* If one operand is constant, make it the second one. Only do this + if the other operand is not constant as well. */ - if (GET_CODE (op0) == CONST_INT || GET_CODE (op0) == CONST_DOUBLE) + if ((CONSTANT_P (op0) && ! CONSTANT_P (op1)) + || (GET_CODE (op0) == CONST_INT && GET_CODE (op1) != CONST_INT)) { tem = op0; op0 = op1; -- 2.30.2