[PING^3] Fix reloading of paradoxical subregs into even-only registers
H.J. Lu
hjl.tools@gmail.com
Wed Aug 20 15:05:00 GMT 2008
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.
More information about the Gcc-patches
mailing list