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: [PING^3] Fix reloading of paradoxical subregs into even-only registers


On Wed, Aug 20, 2008 at 7:04 AM, Michael Matz <matz@suse.de> wrote:
> Hi,
>
> On Tue, 19 Aug 2008, H.J. Lu wrote:
>
>> I still got
>>
>> +FAIL: gcc.dg/compat/scalar-by-value-3 c_compat_x_tst.o compile,
>> (internal compiler error)
>> +FAIL: gcc.dg/compat/scalar-by-value-6 c_compat_x_tst.o compile,
>> (internal compiler error)
>> +FAIL: gcc.dg/compat/scalar-return-3 c_compat_x_tst.o compile,
>> (internal compiler error)
>> +FAIL: gcc.dg/compat/struct-by-value-18 c_compat_x_tst.o compile,
>> (internal compiler error)
>
> Lovely.  The ia64 port disallows XFmode and XCmode in integer registers,
> but nevertheless insists on putting such values into outgoing regs for
> function calls (with stdarg/vararg).  It expects that the movxf expander

It is specified by ia64 psABI.  IA64 HFA is even more complex. That
is one reason why I said I didn't feel comfortable to change ia64
HARD_REGNO_MODE_OK.

> fixes this up (and it does).  This invalid subreg never lands in any
> instruction.
>
> Richard S.: any ideas?
>

I still don't quite understand why subreg_get_info doesn't check
HARD_REGNO_MODE_OK before setting info.representable_p
to true.


-- 
H.J.


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