diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8423540f8352a677685e60f22aa0501b56c377ef..58798857fa34785581ded1f1806b42bcacfdfdff 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 f2d98a47a97710d3b7e3bf63b58813c5b7db33df..c788229ae771106835bb38f87470bf9de2811f5f 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 e0e54428a03700eb43f37717cfbdd48afc056a78..719bd2090c2aca12d6633aabb5da0da70fac9f1f 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);