aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn Wehle <john@feith.com>1998-06-21 00:26:51 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-20 18:26:51 -0600
commitc0067dc8d55be0b9e269692300cb05e70506ba84 (patch)
treeecb5d34e9f63763a559d509ac8037f2db25b6a4a /gcc
parenta24da858abcb8a310a27c6e20793e56ab4810369 (diff)
downloadgcc-c0067dc8d55be0b9e269692300cb05e70506ba84.zip
gcc-c0067dc8d55be0b9e269692300cb05e70506ba84.tar.gz
gcc-c0067dc8d55be0b9e269692300cb05e70506ba84.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.c21
-rw-r--r--gcc/config/i386/i386.md9
3 files changed, 8 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5b0caa..3654792 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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):
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7a5aab5..cd37f54 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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:
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index e3dbea9..c7412b7 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -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;
-}")