Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-23 Thread Michael Meissner
On Wed, Nov 23, 2016 at 11:52:01AM +, Andrew Stubbs wrote: > On 16/11/16 17:05, Michael Meissner wrote: > >I'm starting to test this patch right now (it's on LE power8 stage3 right > >now, > >and I need to build BE power8 and BE power7 versions when I get into the > >office > >shortly, and

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-23 Thread Andrew Stubbs
On 16/11/16 17:05, Michael Meissner wrote: I'm starting to test this patch right now (it's on LE power8 stage3 right now, and I need to build BE power8 and BE power7 versions when I get into the office shortly, and build spec 2017 with it for PR 78101): Did the testing go OK? Andrew

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-16 Thread Michael Meissner
On Wed, Nov 16, 2016 at 04:15:10PM +, Andrew Stubbs wrote: > On 16/11/16 13:10, Michael Meissner wrote: > >Yeah, SFmode and DFmode should not have the TARGET_{S,D}F_FPR checks. > > So, I can safely resolve my initial problem by simply removing them? > And that wouldn't break the other use of

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-16 Thread Andrew Stubbs
On 16/11/16 13:10, Michael Meissner wrote: Yeah, SFmode and DFmode should not have the TARGET_{S,D}F_FPR checks. So, I can safely resolve my initial problem by simply removing them? And that wouldn't break the other use of that predicate? But a secondary problem is the early clobber in the

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-16 Thread Michael Meissner
On Tue, Nov 15, 2016 at 09:11:56PM +, Andrew Stubbs wrote: > On 15/11/16 21:06, Michael Meissner wrote: > >Now, that I have a little time, I can look into this, to at least make > >predicate and peepholes match. There is some other stuff (support for the > >new > >load/store that were added

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Andrew Stubbs
On 15/11/16 21:06, Michael Meissner wrote: Now, that I have a little time, I can look into this, to at least make predicate and peepholes match. There is some other stuff (support for the new load/store that were added to the compiler after that we should also tackle). I've been investigating

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Michael Meissner
On Mon, Nov 14, 2016 at 04:57:58PM +, Andrew Stubbs wrote: > The testcase powerpc/fusion3.c causes an ICE when compiled with > -msoft-float. > > The key line in the testcase looks fairly harmless: > >void fusion_float_write (float *p, float f){ p[LARGE] = f; } LARGE is large enough that

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Andrew Stubbs
On 15/11/16 12:29, Segher Boessenkool wrote: The peepholes do not support it, or maybe the define_insns do not either. The machine of course will not care. Oh, OK, so probably the bug is not in the peephole at all, but in the define_insn, or lack thereof. More investigation required.

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Segher Boessenkool
Hi Andrew, Thanks for the patch and looking into this. On Mon, Nov 14, 2016 at 04:57:58PM +, Andrew Stubbs wrote: > The testcase powerpc/fusion3.c causes an ICE when compiled with > -msoft-float. > Basically, the problem is that the peephole optimization tries to create > a Power9 Fusion

[PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-14 Thread Andrew Stubbs
The testcase powerpc/fusion3.c causes an ICE when compiled with -msoft-float. The key line in the testcase looks fairly harmless: void fusion_float_write (float *p, float f){ p[LARGE] = f; } The error message look like this: .../gcc.target/powerpc/fusion3.c: In function