i386.c (output_fp_conditional_move): Don't bother handling (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN...

* i386.c (output_fp_conditional_move): Don't bother handling
        (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
        prevent this from happening.
        * i386.md (nonlocal_goto_receiver): Delete.

From-SVN: r20632
This commit is contained in:
John Wehle 1998-06-21 00:26:51 +00:00 committed by Jeff Law
parent a24da858ab
commit c0067dc8d5
3 changed files with 8 additions and 30 deletions

View file

@ -1,3 +1,11 @@
Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
* i386.c (output_fp_conditional_move): Don't bother handling
(cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
prevent this from happening.
* i386.md (nonlocal_goto_receiver): Delete.
Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
* flow.c (allocate_for_life_analysis, init_regset_vector):

View file

@ -5134,27 +5134,6 @@ output_fp_conditional_move (which_alternative, operands)
int which_alternative;
rtx operands[];
{
int code = GET_CODE (operands[1]);
/* This is very tricky. We have to do it right. For a code segement
like:
int foo;
double bar;
....
foo = foo - x;
if (foo >= 0)
bar = y;
final_scan_insn () may delete the insn which sets CC. We have to
tell final_scan_insn () if it should be reinserted. When CODE is
GT or LE, we have to check the CC_NO_OVERFLOW bit and return
NULL_PTR to tell final to reinsert the test insn because the
conditional move cannot be handled properly without it. */
if ((code == GT || code == LE)
&& (cc_prev_status.flags & CC_NO_OVERFLOW))
return NULL_PTR;
switch (which_alternative)
{
case 0:

View file

@ -7797,12 +7797,3 @@ byte_xor_operation:
emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
DONE;
}")
(define_expand "nonlocal_goto_receiver"
[(const_int 0)]
"flag_pic"
"
{
load_pic_register (1);
DONE;
}")