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