i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions properly.

* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
	properly.

From-SVN: r38799
This commit is contained in:
Jan Hubicka 2001-01-08 13:47:15 +01:00 committed by Jan Hubicka
parent 1f0d71c5bb
commit 734dba19cd
2 changed files with 33 additions and 4 deletions

View File

@ -1,3 +1,8 @@
Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
properly.
Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
* ggc-page.c (max_alignment): New structure.

View File

@ -5399,8 +5399,20 @@ ix86_expand_int_movcc (operands)
HOST_WIDE_INT tmp;
tmp = ct, ct = cf, cf = tmp;
diff = -diff;
compare_code = reverse_condition (compare_code);
code = reverse_condition (code);
if (FLOAT_MODE_P (GET_MODE (ix86_compare_op0)))
{
/* We may be reversing unordered compare to normal compare, that
is not valid in general (we may convert non-trapping condition
to trapping one), however on i386 we currently emit all
comparisons unordered. */
compare_code = reverse_condition_maybe_unordered (compare_code);
code = reverse_condition_maybe_unordered (code);
}
else
{
compare_code = reverse_condition (compare_code);
code = reverse_condition (code);
}
}
if (diff == 1 || diff == 2 || diff == 4 || diff == 8
|| diff == 3 || diff == 5 || diff == 9)
@ -5489,8 +5501,20 @@ ix86_expand_int_movcc (operands)
{
ct = cf;
cf = 0;
compare_code = reverse_condition (compare_code);
code = reverse_condition (code);
if (FLOAT_MODE_P (GET_MODE (ix86_compare_op0)))
{
/* We may be reversing unordered compare to normal compare,
that is not valid in general (we may convert non-trapping
condition to trapping one), however on i386 we currently
emit all comparisons unordered. */
compare_code = reverse_condition_maybe_unordered (compare_code);
code = reverse_condition_maybe_unordered (code);
}
else
{
compare_code = reverse_condition (compare_code);
code = reverse_condition (code);
}
}
out = emit_store_flag (out, code, ix86_compare_op0,