Re: [LRA] Fix ICE on pathological testcase

2016-12-14 Thread Eric Botcazou
> I wasn't ever able to get comfortable with the change in behavior that > Bernd E's patch introduced. Namely that X no longer meant "anything", > which is how it's been documented for eons. Understood. I have applied my patchlet then, with the other, more serious LRA patch I posted yesterday,

Re: [LRA] Fix ICE on pathological testcase

2016-12-13 Thread Jeff Law
On 12/07/2016 04:21 PM, Eric Botcazou wrote: Presumably the MEM isn't a valid memory address, but it's allowed through due to the use of an "X" constraint? Yes (that was supposed to be more or less clear given the description :-). ISTM that LRA has to be prepared to handle an arbitrary RTX, s

Re: [LRA] Fix ICE on pathological testcase

2016-12-07 Thread Eric Botcazou
> Presumably the MEM isn't a valid memory address, but it's allowed > through due to the use of an "X" constraint? Yes (that was supposed to be more or less clear given the description :-). > ISTM that LRA has to be prepared to handle an arbitrary RTX, so punting > seems appropriate. My opinion

Re: [LRA] Fix ICE on pathological testcase

2016-12-07 Thread Jeff Law
On 12/06/2016 05:28 AM, Eric Botcazou wrote: Hi, the compiler ICEs for SPARC 64-bit with LRA on the asm-subreg-1.c test: volatile unsigned short _const_32 [4] = {1,2,3,4}; void evas_common_convert_yuv_420p_601_rgba() { __asm__ __volatile__ ("" : : "X" (*_const_32)); } The issue is that combi

Re: [LRA] Fix ICE on pathological testcase

2016-12-07 Thread Bernd Edlinger
On 12/07/16 10:44, Richard Sandiford wrote: > Bernd Edlinger writes: >> Hi Eric, >> >> what you got there, looks more or less exactly like what I tried >> to fix with that patch a few months ago, but unfortunately >> we were unable to get a consensus on that approach: >> >> [PATCH] Fix asm X const

Re: [LRA] Fix ICE on pathological testcase

2016-12-07 Thread Richard Sandiford
Bernd Edlinger writes: > Hi Eric, > > what you got there, looks more or less exactly like what I tried > to fix with that patch a few months ago, but unfortunately > we were unable to get a consensus on that approach: > > [PATCH] Fix asm X constraint (PR inline-asm/59155) > https://gcc.gnu.org/ml/

Re: [LRA] Fix ICE on pathological testcase

2016-12-06 Thread Mike Stump
On Dec 6, 2016, at 8:59 AM, Eric Botcazou wrote: > >> what you got there, looks more or less exactly like what I tried >> to fix with that patch a few months ago, but unfortunately >> we were unable to get a consensus on that approach: > > It's indeed the same underlying issue, but restricted to

Re: [LRA] Fix ICE on pathological testcase

2016-12-06 Thread Eric Botcazou
> what you got there, looks more or less exactly like what I tried > to fix with that patch a few months ago, but unfortunately > we were unable to get a consensus on that approach: It's indeed the same underlying issue, but restricted to a specific case where reload and other passes do the right

Re: [LRA] Fix ICE on pathological testcase

2016-12-06 Thread Bernd Edlinger
Hi Eric, what you got there, looks more or less exactly like what I tried to fix with that patch a few months ago, but unfortunately we were unable to get a consensus on that approach: [PATCH] Fix asm X constraint (PR inline-asm/59155) https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01649.html Be

[LRA] Fix ICE on pathological testcase

2016-12-06 Thread Eric Botcazou
Hi, the compiler ICEs for SPARC 64-bit with LRA on the asm-subreg-1.c test: volatile unsigned short _const_32 [4] = {1,2,3,4}; void evas_common_convert_yuv_420p_601_rgba() { __asm__ __volatile__ ("" : : "X" (*_const_32)); } The issue is that combine merges back the 3 instructions necessary to