From: Roger Sayle Date: Mon, 6 Oct 2003 23:18:31 +0000 (+0000) Subject: i386.c (ix86_expand_setcc): Annotate the floating point comparison sequence with... X-Git-Tag: releases/gcc-3.4.0~3240 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a627503d6aa79272846a53fc33f8cf3b82f3284;p=thirdparty%2Fgcc.git i386.c (ix86_expand_setcc): Annotate the floating point comparison sequence with a REG_EQUAL note that... * config/i386/i386.c (ix86_expand_setcc): Annotate the floating point comparison sequence with a REG_EQUAL note that describes the comparison's semantics. From-SVN: r72173 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b0a81bc511bb..cbd783f40e25 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-06 Roger Sayle + + * config/i386/i386.c (ix86_expand_setcc): Annotate the floating + point comparison sequence with a REG_EQUAL note that describes + the comparison's semantics. + 2003-10-06 Roger Sayle * expr.c (expand_expr ): Handle the void type semantics diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 1c606df7694c..67285f94ea0a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -9334,7 +9334,7 @@ ix86_split_fp_branch (enum rtx_code code, rtx op1, rtx op2, int ix86_expand_setcc (enum rtx_code code, rtx dest) { - rtx ret, tmp, tmpreg; + rtx ret, tmp, tmpreg, equiv; rtx second_test, bypass_test; if (GET_MODE (ix86_compare_op0) == DImode @@ -9373,6 +9373,12 @@ ix86_expand_setcc (enum rtx_code code, rtx dest) emit_insn (gen_iorqi3 (tmp, tmpreg, tmp2)); } + /* Attach a REG_EQUAL note describing the comparison result. */ + equiv = simplify_gen_relational (code, QImode, + GET_MODE (ix86_compare_op0), + ix86_compare_op0, ix86_compare_op1); + set_unique_reg_note (get_last_insn (), REG_EQUAL, equiv); + return 1; /* DONE */ }