On Fri, Apr 07, 2017 at 12:04:16PM -0400, Vladimir Makarov wrote:
>   The following patch fixes
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70478
> 
>   The patch was successfully bootstrapped and tested on x86-64/ppc64/arm64.
> 
>   Committed as rev. 246764.
> 

> Index: ChangeLog
> ===================================================================
> --- ChangeLog (revision 246763)
> +++ ChangeLog (working copy)
> @@ -1,3 +1,9 @@
> +2017-04-07  Vladimir Makarov  <vmaka...@redhat.com>
> +
> +     PR rtl-optimization/70478
> +     * lra-constraints.c (process_alt_operands): Disfavor alternative
> +     insn memory operands.

This has regressed:
+UNRESOLVED: gfortran.dg/pr68627.f   -O   scan-assembler-not vbroadcastsd[ 
\\\\t]+%xmm[0-9]+, %ymm[0-9]+
+FAIL: gfortran.dg/pr68627.f   -O  (internal compiler error)
+FAIL: gfortran.dg/pr68627.f   -O  (test for excess errors)
on x86_64-linux, starting with r246764 there is ICE:
Error: unable to find a register to spill
pr68627.f:16:0: Error: this is the insn:
(insn 202 1300 1177 12 (set (reg:V2DF 1306 [785])
        (vec_concat:V2DF (reg:DF 1307 [orig:259 _282 ] [259])
            (reg:DF 1421 [orig:263 _313 ] [263]))) "pr68627.f":11 2727 
{vec_concatv2df}
     (expr_list:REG_DEAD (reg:DF 1421 [orig:263 _313 ] [263])
        (expr_list:REG_DEAD (reg:DF 1307 [orig:259 _282 ] [259])
            (nil))))
pr68627.f:16:0: internal compiler error: in assign_by_spills, at 
lra-assigns.c:1476

        Jakub

Reply via email to