summaryrefslogtreecommitdiffstats
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-14 02:59:42 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-14 02:59:42 +0000
commitc071a2dff4d3e938f05021e7568bfae44bde944c (patch)
treead6d3c452b2626d6643772b84fef9585f0dd5c22 /gcc/expr.c
parentdeed199ccb73d698fbed555ba5d094e5ce19e582 (diff)
downloadppe42-gcc-c071a2dff4d3e938f05021e7568bfae44bde944c.tar.gz
ppe42-gcc-c071a2dff4d3e938f05021e7568bfae44bde944c.zip
* optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
directly, instead let do_compare_rtx_and_jump handle this for us. * expr.c (expand_expr_real_1): Likewise. * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move before do_jump_by_parts_greater. (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx. * expr.h (do_jump_by_parts_greater_rtx): Delete prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110954 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 537ce1ef83e..92d8d280758 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8184,24 +8184,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
emit_move_insn (target, op0);
temp = gen_label_rtx ();
-
- /* If this mode is an integer too wide to compare properly,
- compare word by word. Rely on cse to optimize constant cases. */
- if (GET_MODE_CLASS (mode) == MODE_INT
- && ! can_compare_p (GE, mode, ccp_jump))
- {
- if (code == MAX_EXPR)
- do_jump_by_parts_greater_rtx (mode, unsignedp, target, op1,
- NULL_RTX, temp);
- else
- do_jump_by_parts_greater_rtx (mode, unsignedp, op1, target,
- NULL_RTX, temp);
- }
- else
- {
- do_compare_rtx_and_jump (target, cmpop1, comparison_code,
- unsignedp, mode, NULL_RTX, NULL_RTX, temp);
- }
+ do_compare_rtx_and_jump (target, cmpop1, comparison_code,
+ unsignedp, mode, NULL_RTX, NULL_RTX, temp);
}
emit_move_insn (target, op1);
emit_label (temp);
OpenPOWER on IntegriCloud