This is the mail archive of the gcc@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: strict_low_part question


Richard Henderson <rth@redhat.com> writes:

> 	(set (strict_low_part (subreg:HI (reg:SI x) 0))
> 	     (rot:HI (subreg:HI (reg:SI x) 0)
> 		     (const_int 16)))
> 
> should describe exactly what you want.

Okay... but how do I generate that? I tried something like


      rtx low = gen_lowpart (HImode, op0);
      rtx x = expand_unop (HImode, one_cmpl_optab, gen_lowpart(HImode, op0),
                           gen_rtx(STRICT_LOW_PART, VOIDmode, low), 1);

(one_cmpl being just a dummy to see whether it works), but that
affects the whole operand.

> Though I do suggest that you not expose this before reload.

Does that mean I can't do it in expand_unop? What would be a more
appropriate place?

-- 
	Falk


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