This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: subreg:HI of PSI HW register issue
- From: Aurelien Buhrig <aurelien dot buhrig dot gcc at gmail dot com>
- To: Bernd Schmidt <bernds at codesourcery dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 09 Mar 2012 16:20:13 +0100
- Subject: Re: subreg:HI of PSI HW register issue
- References: <4F59D97D.4060408@gmail.com> <4F5A0EC9.9060000@codesourcery.com>
09/03/2012 15:08, Bernd Schmidt :
> On 03/09/2012 11:20 AM, Aurelien Buhrig wrote:
>> Hi,
>>
>> It seems there is an issue around subreg:HI of PSI hardware register,
>> which occurs either during expand or reload (GCC 4.6.1).
>>
>> For my big endian target,
>> (subreg:HI (reg:PSI A0_REGNO) 0) is not representable but
>> (subreg:HI (reg:PSI A0_REGNO) 2) is (reg:HI A0_REGNO).
>
>> - Is it correct that gcc emits such a subreg pattern in Pmode=PSI during
>> expand ? Or should it be in ptr_mode=SImode (in this case, both
>> (subreg:HI (reg:SI) 0/2) are representable)?
>
> This, I think. I have a port with a rather similar situation, and I'm
> betting you also have a failure in gcc.c-torture/execute/20040625-1.c.
Yes, gcc.c-torture/execute/20040625-1.c fails too.
> I don't want to promise anything but I may have something for you next
> week-ish.
Good news!
I'm not used to work at tree level for now and it is unclear for me what
part of the code should be tweaked. Can you tell me which part of the
code you are fixing/looking at, so that I can have a better
understanding of ptr_mode vs Pmode before your fix?
I will wait for your fix.
Thanks,
Aurélien