This is the mail archive of the
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 <firstname.lastname@example.org>
> * 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
> +#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 Christopher <email@example.com>