diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-15 04:56:06 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-15 04:56:06 +0000 |
commit | 8da637123e80be2156e84d0f2f1be564132996c1 (patch) | |
tree | 3ff18ff7fc94a7ca0a414c165e33d5a33108b3f3 /gcc/dojump.c | |
parent | 8eafe656d06910682748b4f19ea12cd8bbabd4ba (diff) | |
download | gcc-8da637123e80be2156e84d0f2f1be564132996c1.tar.gz |
2009-05-15 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r147550
2009-05-15 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk rev147539
* gcc/melt/warmelt-normal.melt (normexp_defcmatcher): use obj_hash
instead of hashcode!
* gcc/Makefile.in: TEXI_GCCINT_FILES has both plugins.texi & melt.texi
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147552 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dojump.c')
-rw-r--r-- | gcc/dojump.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/gcc/dojump.c b/gcc/dojump.c index 36430851393..76f62c62eba 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -756,64 +756,6 @@ do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label) if_true_label); } -/* Generate code for a comparison of OP0 and OP1 with rtx code CODE. - MODE is the machine mode of the comparison, not of the result. - (including code to compute the values to be compared) and set CC0 - according to the result. The decision as to signed or unsigned - comparison must be made by the caller. - - We force a stack adjustment unless there are currently - things pushed on the stack that aren't yet used. - - If MODE is BLKmode, SIZE is an RTX giving the size of the objects being - compared. */ - -rtx -compare_from_rtx (rtx op0, rtx op1, enum rtx_code code, int unsignedp, - enum machine_mode mode, rtx size) -{ - rtx tem; - - /* If one operand is constant, make it the second one. Only do this - if the other operand is not constant as well. */ - - if (swap_commutative_operands_p (op0, op1)) - { - tem = op0; - op0 = op1; - op1 = tem; - code = swap_condition (code); - } - - do_pending_stack_adjust (); - - code = unsignedp ? unsigned_condition (code) : code; - tem = simplify_relational_operation (code, VOIDmode, mode, op0, op1); - if (tem) - { - if (CONSTANT_P (tem)) - return tem; - - if (COMPARISON_P (tem)) - { - code = GET_CODE (tem); - op0 = XEXP (tem, 0); - op1 = XEXP (tem, 1); - mode = GET_MODE (op0); - unsignedp = (code == GTU || code == LTU - || code == GEU || code == LEU); - } - } - - emit_cmp_insn (op0, op1, code, size, mode, unsignedp); - -#if HAVE_cc0 - return gen_rtx_fmt_ee (code, VOIDmode, cc0_rtx, const0_rtx); -#else - return gen_rtx_fmt_ee (code, VOIDmode, op0, op1); -#endif -} - /* Like do_compare_and_jump but expects the values to compare as two rtx's. The decision as to signed or unsigned comparison must be made by the caller. |