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: store_bit_field, CONCATs and subregs


On Wed, Dec 08, 2004 at 09:52:06AM +0000, Richard Sandiford wrote:
> To repeat a comment I tend to associate with Jim Wilson,
> gen_lowpart(_general) isn't guaranteed to return an lvalue.

We've got a *lot* of code outside gen_lowpart that assumes otherwise.

> For example (perhaps the only example?), the MEM case includes:
> 
>       /* The following exposes the use of "x" to CSE.  */
>       if (GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD
> 	  && SCALAR_INT_MODE_P (GET_MODE (x))
> 	  && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
> 				    GET_MODE_BITSIZE (GET_MODE (x)))
> 	  && ! no_new_pseudos)
> 	return gen_lowpart_general (mode, force_reg (GET_MODE (x), x));

We should probably remove this case.



r~


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