On Thu, Nov 7, 2013 at 10:42 AM, Yvan Roux <yvan.r...@linaro.org> wrote: > Hi, > > I've tested LRA on ARM in several configuration and it occurs that > only one regression is observed in Fortran for targets A15 and A9 in > hard and soft fp amd Thumb mode enabled by default (ARMv5 is clean). > The failing test case is gfortran.dg/realloc_on_assign_11.f90 in -O3 > and the error seems to be of the same nature of > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58784, in the sens that > LRA ICEs in check_rtl on an insn which doesn't satisfy its > constraints. Here is the insn : > > (insn 633 543 656 24 (parallel [ > (set (mem/c:SI (plus:SI (reg/f:SI 907) > (const_int 8 [0x8])) [4 A.54+8 S4 A64]) > (smax:SI (reg:SI 562 [ D.5235 ]) > (reg:SI 621 [ D.5235 ]))) > (clobber (reg:CC 100 cc)) > ]).../gfortran.dg/realloc_on_assign_11.f90:29 121 {*store_minmaxsi} > (expr_list:REG_DEAD (reg:SI 621 [ D.5235 ]) > (expr_list:REG_UNUSED (reg:CC 100 cc) > (nil))))
This store_minmaxsi insn is not recognized because optimize_function_for_size_p() is false. The problem is in the place where this insn was created. Trying to figure that out now... Ciao! Steven