From 434c87d422b306c985a1c4e67ebba27d24bd50b7 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 1 Feb 2003 14:16:29 +0100 Subject: [PATCH] * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts. From-SVN: r62246 --- gcc/ChangeLog | 4 ++++ gcc/combine.c | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index da995372de1..a226c3b1652 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Feb 1 14:14:40 CET 2003 Jan Hubicka + + * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts. + 2003-02-01 Richard Sandiford * flags.h (flag_volatile): Remove declaration. diff --git a/gcc/combine.c b/gcc/combine.c index d3203fe5a49..d6915c15178 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3708,6 +3708,8 @@ combine_simplify_rtx (x, op0_mode, last, in_dest) if (general_operand (true_rtx, VOIDmode) && general_operand (false_rtx, VOIDmode)) { + enum rtx_code reversed; + /* Restarting if we generate a store-flag expression will cause us to loop. Just drop through in this case. */ @@ -3716,9 +3718,10 @@ combine_simplify_rtx (x, op0_mode, last, in_dest) if (true_rtx == const_true_rtx && false_rtx == const0_rtx) x = gen_binary (cond_code, mode, cond, cop1); else if (true_rtx == const0_rtx && false_rtx == const_true_rtx - && reverse_condition (cond_code) != UNKNOWN) - x = gen_binary (reverse_condition (cond_code), - mode, cond, cop1); + && ((reversed = reversed_comparison_code_parts + (cond_code, cond, cop1, NULL)) + != UNKNOWN)) + x = gen_binary (reversed, mode, cond, cop1); /* Likewise, we can make the negate of a comparison operation if the result values are - STORE_FLAG_VALUE and zero. */ @@ -3731,11 +3734,13 @@ combine_simplify_rtx (x, op0_mode, last, in_dest) mode); else if (GET_CODE (false_rtx) == CONST_INT && INTVAL (false_rtx) == - STORE_FLAG_VALUE - && true_rtx == const0_rtx) + && true_rtx == const0_rtx + && ((reversed = reversed_comparison_code_parts + (cond_code, cond, cop1, NULL)) + != UNKNOWN)) x = simplify_gen_unary (NEG, mode, - gen_binary (reverse_condition - (cond_code), - mode, cond, cop1), + gen_binary (reversed, mode, + cond, cop1), mode); else return gen_rtx_IF_THEN_ELSE (mode, -- 2.30.2