aboutsummaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2000-02-06 02:56:56 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-02-06 02:56:56 -0800
commit52a75c3c22a68d2acdbdf6e2e5070b1f424bfc81 (patch)
treedb6ecb99832a88e5633e916992cbab50ca441beb /gcc/simplify-rtx.c
parentb027470f4234f042f2a736ee5e830f3b20acadca (diff)
downloadgcc-52a75c3c22a68d2acdbdf6e2e5070b1f424bfc81.zip
gcc-52a75c3c22a68d2acdbdf6e2e5070b1f424bfc81.tar.gz
gcc-52a75c3c22a68d2acdbdf6e2e5070b1f424bfc81.tar.bz2
simplify-rtx.c (simplify_relational_operation): Canonicalize constant to op1 for testing.
* simplify-rtx.c (simplify_relational_operation): Canonicalize constant to op1 for testing. From-SVN: r31825
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 12d1d8c..c02248e 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -1591,6 +1591,14 @@ simplify_relational_operation (code, mode, op0, op1)
)
return 0;
+ /* Make sure the constant is second. */
+ if ((CONSTANT_P (op0) && ! CONSTANT_P (op1))
+ || (GET_CODE (op0) == CONST_INT && GET_CODE (op1) != CONST_INT))
+ {
+ tem = op0, op0 = op1, op1 = tem;
+ code = swap_condition (code);
+ }
+
/* For integer comparisons of A and B maybe we can simplify A - B and can
then simplify a comparison of that with zero. If A and B are both either
a register or a CONST_INT, this can't help; testing for these cases will