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
This commit is contained in:
Roger Sayle 2003-10-06 23:18:31 +00:00 committed by Roger Sayle
parent c37b68d42a
commit 3a627503d6
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-10-06 Roger Sayle <roger@eyesopen.com>
* 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 <roger@eyesopen.com>
* expr.c (expand_expr <COND_EXPR>): Handle the void type semantics

View File

@ -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 */
}