Commit c0067dc8 by John Wehle Committed by Jeff Law

i386.c (output_fp_conditional_move): Don't bother handling (cc_prev_status.flags…

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
parent a24da858
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):
......
......@@ -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:
......
......@@ -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;
}")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment