Help with detection of an invariant

2015-12-07 Thread Dominik Vogt
On S/390 the test case gcc.dg/loop-9.c currently fails: void f (double *a) { int i; for (i = 0; i < 100; i++) a[i] = 18.4242; } It seems to expect that moving 18.4242 to a register is moved out of the loop, but on S/390 it isn't. It turns out that move_invariant_reg() is

How to rewrite call targets (OpenACC bind clause)

2015-12-07 Thread Thomas Schwinge
Hi! I have tried a few things, and got things somewhat working, but I'm not satisfied with my results so far, so I'd like to ask for help. OpenACC specifics are not relevant to my question, which I'm thus formulating in a very generic way. (But find an illustrative example at the end of the emai

Re: RFC: Intel386 psABI version 1.1 draft

2015-12-07 Thread H.J. Lu
On Tue, Nov 24, 2015 at 8:16 AM, H.J. Lu wrote: > Hi, > > Here is the Intel386 psABI version 1.1 draft: > > https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-20151120.pdf > > Main changes are > > 1. Add AVX-512 support. > 2. Add linker optimization to combine GOTPLT and GOT slots. > 3. Ad

Re: Help with detection of an invariant

2015-12-07 Thread Andrew Pinski
On Mon, Dec 7, 2015 at 6:44 AM, Dominik Vogt wrote: > On S/390 the test case gcc.dg/loop-9.c currently fails: > > void f (double *a) > { > int i; > for (i = 0; i < 100; i++) > a[i] = 18.4242; > } > > It seems to expect that moving 18.4242 to a register is moved out > of the loo

Re: Help with detection of an invariant

2015-12-07 Thread Dominik Vogt
On Mon, Dec 07, 2015 at 11:48:10AM -0800, Andrew Pinski wrote: > On Mon, Dec 7, 2015 at 6:44 AM, Dominik Vogt wrote: > > On S/390 the test case gcc.dg/loop-9.c currently fails: > > > > void f (double *a) > > { > > int i; > > for (i = 0; i < 100; i++) > > a[i] = 18.4242; > > } >