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: [cft] subreg validation round 2


Richard Henderson <rth@redhat.com> writes:
> On Wed, Nov 17, 2004 at 11:18:41AM -0800, Bob Wilson wrote:
>> Is this my bug?
>
> Yes.  BLKmode REGs are illegal.

I realise that they are in general, but it's fairly clear that,
for example, FUNCTION_VALUE is allowed to return BLKmode REGs.
Routines like hard_function_value have code that specifically
handles such cases.  I'd always thought that FUNCTION_ARG was
in the same boat, and that the argument handling code interpreted
(reg:BLK X) as meaning "as many consecutive registers as necessary,
starting at X".

MIPS's FUNCTION_ARG has returned (reg:BLK reg) for as long as I've
been working on it and it always seems to have been interpreted in
the right way.

Are you saying that FUNCTION_ARG isn't an exception, and that it can
never return a BLKmode REG?  If so, what's the correct mode for, say,
a 33 byte value passed in 5 consecutive 64-bit registers?  I suppose
the answer is probably "there isn't one, use a PARALLEL", but like I
say, returning BLKmode REGs has worked fine until now, so this does
seem like an interface change.

Richard


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