aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c2
-rw-r--r--gcc/resource.c4
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8423540..5879885 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2000-01-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br>, Richard Henderson <rth@cygnus.com>
+
+ * resource.c (mark_referenced_resources): Mark a set strict_low_part
+ as used.
+ * config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set
+ strict_low_part when possible.
+
2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* alias.c: PROTO -> PARAMS.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f2d98a4..c788229 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4341,8 +4341,6 @@ ix86_expand_setcc (code, unordered, dest)
*/
type = 0;
- /* %%% reload problems with in-out. Revisit. */
- type = 1;
if (GET_MODE (dest) == QImode)
type = 2;
diff --git a/gcc/resource.c b/gcc/resource.c
index e0e5442..719bd20 100644
--- a/gcc/resource.c
+++ b/gcc/resource.c
@@ -272,7 +272,9 @@ mark_referenced_resources (x, res, include_delayed_effects)
mark_referenced_resources (SET_SRC (x), res, 0);
x = SET_DEST (x);
- if (GET_CODE (x) == SIGN_EXTRACT || GET_CODE (x) == ZERO_EXTRACT)
+ if (GET_CODE (x) == SIGN_EXTRACT
+ || GET_CODE (x) == ZERO_EXTRACT
+ || GET_CODE (x) == STRICT_LOW_PART)
mark_referenced_resources (x, res, 0);
else if (GET_CODE (x) == SUBREG)
x = SUBREG_REG (x);