Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2018-01-10 Thread Jakub Jelinek
On Mon, Nov 06, 2017 at 01:50:07PM +, Wilco Dijkstra wrote: > Richard Sandiford wrote: > > > > Yeah, I'd hit this too.  I think it's a latent bug that just > > happened to be exposed by Wilco's patch: although the *movti_aarch64 > > predicate disallows const_wide_int, the constraints allow it

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-11-13 Thread Christophe Lyon
On 6 November 2017 at 15:44, Richard Sandiford wrote: > Wilco Dijkstra writes: >> Richard Sandiford wrote: >>> >>> Yeah, I'd hit this too. I think it's a latent bug that just >>> happened to be exposed by Wilco's patch: although the

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-11-06 Thread Richard Sandiford
Wilco Dijkstra writes: > Richard Sandiford wrote: >> >> Yeah, I'd hit this too.  I think it's a latent bug that just >> happened to be exposed by Wilco's patch: although the *movti_aarch64 >> predicate disallows const_wide_int, the constraints allow it via "n", >> which

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-11-06 Thread Wilco Dijkstra
Richard Sandiford wrote: > > Yeah, I'd hit this too.  I think it's a latent bug that just > happened to be exposed by Wilco's patch: although the *movti_aarch64 > predicate disallows const_wide_int, the constraints allow it via "n", > which means that the RA can rematerialise a const_wide_int that

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-11-06 Thread Richard Sandiford
Andreas Schwab writes: > FAIL: gfortran.dg/class_array_1.f03 -O3 -fomit-frame-pointer -funroll-loops > -fpeel-loops -ftracer -finline-functions (test for excess errors) > Excess errors: > /opt/gcc/gcc-20171104/gcc/testsuite/gfortran.dg/class_array_1.f03:31:0: > Error:

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-11-04 Thread Andreas Schwab
FAIL: gfortran.dg/class_array_1.f03 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) Excess errors: /opt/gcc/gcc-20171104/gcc/testsuite/gfortran.dg/class_array_1.f03:31:0: Error: could not split insn (insn 527 1444 562 (set (reg:TI 0 x0

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-10-31 Thread Wilco Dijkstra
James Greenhalgh wrote: > This is mostly OK, but I think you lose one case we previosuly permitted, > buried in aarch64_classify_address (the CONST case). > > OK with that case handled too (assuming that passes a bootstrap and test). That case is already handled. The CONST case handles the

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-10-26 Thread James Greenhalgh
On Fri, Jul 07, 2017 at 12:28:11PM +0100, Wilco Dijkstra wrote: > This patch further improves aarch64_legitimate_constant_p. Allow all > integer, floating point and vector constants. Allow label references > and non-anchor symbols with an immediate offset. This allows such > constants to be

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-08-15 Thread Wilco Dijkstra
      ping     This patch further improves aarch64_legitimate_constant_p.  Allow all integer, floating point and vector constants.  Allow label references and non-anchor symbols with an immediate offset.  This allows such constants to be rematerialized, resulting in smaller code and fewer

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-08-01 Thread Wilco Dijkstra
    ping     This patch further improves aarch64_legitimate_constant_p.  Allow all integer, floating point and vector constants.  Allow label references and non-anchor symbols with an immediate offset.  This allows such constants to be rematerialized, resulting in smaller code and fewer stack

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-07-21 Thread Wilco Dijkstra
  ping     This patch further improves aarch64_legitimate_constant_p.  Allow all integer, floating point and vector constants.  Allow label references and non-anchor symbols with an immediate offset.  This allows such constants to be rematerialized, resulting in smaller code and fewer stack

Re: [PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-07-14 Thread Wilco Dijkstra
ping   This patch further improves aarch64_legitimate_constant_p.  Allow all integer, floating point and vector constants.  Allow label references and non-anchor symbols with an immediate offset.  This allows such constants to be rematerialized, resulting in smaller code and fewer stack spills.

[PATCH][AArch64] Improve aarch64_legitimate_constant_p

2017-07-07 Thread Wilco Dijkstra
This patch further improves aarch64_legitimate_constant_p. Allow all integer, floating point and vector constants. Allow label references and non-anchor symbols with an immediate offset. This allows such constants to be rematerialized, resulting in smaller code and fewer stack spills. SPEC2006