This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]