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.