This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] combine.c: Fix execute/0021120-2.c andexecute/941101-1.c.
>
> Tested on h8300 port. OK to apply?
>
> Kazu Hirata
>
> 2003-06-02 Kazu Hirata <kazu@cs.umass.edu>
>
> * combine.c (simplify_set): Don't move a subreg in SET_SRC to
> SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
Looks ok to me (I can't approve this though) with a couple of
exceptions:
>
> +#ifdef WORD_REGISTER_OPERATIONS
> /* If we have (set x (subreg:m1 (op:m2 ...) 0)) with OP being some operation,
> and X being a REG or (subreg (reg)), we may be able to convert this to
> (set (subreg:m2 x) (op)).
>
> We can always do this if M1 is narrower than M2 because that means that
> we only care about the low bits of the result.
>
> However, on machines without WORD_REGISTER_OPERATIONS defined, we cannot
> perform a narrower operation than requested since the high-order bits will
> be undefined. On machine where it is defined, this transformation is safe
> as long as M1 and M2 have the same number of words. */
>
Can you fix this comment since it isn't quite accurate, and b) test on a
machine that has WORD_REGISTER_OPERATIONS defined :)
-eric
--
Eric Christopher <echristo@redhat.com>