https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101560

            Bug ID: 101560
           Summary: ICE building 526.blender_r with -Ofast -flto
                    -march=znver2 since r12-1958-gedafb35bdad
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jamborm at gcc dot gnu.org
                CC: hjl at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux
            Target: x86_64-linux

When building SPEC 2017 FPrate benchmark 526.blender_r with -Ofast -g
-flto -march=znver2 -mtune=znver2 I see the following ICE:

blender/source/blender/blenloader/intern/readfile.c: In function 'do_versions':
blender/source/blender/blenloader/intern/readfile.c:7595:1: internal compiler
error: in lra_assign, at lra-assigns.c:1649
 7595 | }
      | ^
0xb77d20 lra_assign(bool&)
        /home/mjambor/gcc/mine/src/gcc/lra-assigns.c:1649
0xb724c4 lra(_IO_FILE*)
        /home/mjambor/gcc/mine/src/gcc/lra.c:2387
0xb2d369 do_reload
        /home/mjambor/gcc/mine/src/gcc/ira.c:5932
0xb2d369 execute
        /home/mjambor/gcc/mine/src/gcc/ira.c:6118
Please submit a full bug report...


Note that the assert is triggered only with checking, so release-build
compilers do not see it.

I have bisected it down to:

commit edafb35bdadf309ebb9d1eddc5549f9e1ad49c09
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Wed Jun 2 07:15:45 2021 -0700

    x86: Convert CONST_WIDE_INT/CONST_VECTOR to broadcast

    1. Update move expanders to convert the CONST_WIDE_INT and CONST_VECTOR
    operands to vector broadcast from an integer with AVX.
    2. Add ix86_gen_scratch_sse_rtx to return a scratch SSE register which
    won't increase stack alignment requirement and blocks transformation by
    the combine pass.
    [...rest of the commit message trimmed...]

At this point I do not plan to attempt to come up with a reduced
testcase.

Reply via email to