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

            Bug ID: 103169
           Summary: [12 Regression] ICE: verify_ssa failed (error:
                    definition in block 3 does not dominate use in block
                    4)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

gcc-12.0.0-alpha20211107 snapshot (g:962ff7d2849e1fa6a1fe0535aa2dec5c2b9a32a6)
ICEs when compiling the following testcase, reduced from
gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c, w/
-march=armv8.3-a -O2 -fvect-cost-model=unlimited -c jj4al0hq.c:

_Complex double b_0, c_0;

void
mul270snd (void)
{
  c_0 = b_0 * 1.0iF * 1.0iF;
}

% aarch64-linux-gnu-gcc-12.0.0 -march=armv8.3-a -O2 -fvect-cost-model=unlimited
-c jj4al0hq.c
jj4al0hq.c: In function 'mul270snd':
jj4al0hq.c:4:1: error: definition in block 3 does not dominate use in block 4
    4 | mul270snd (void)
      | ^~~~~~~~~
for SSA_NAME: _37 in statement:
_38 = VEC_PERM_EXPR <vect__15.9_34, _37, { 0, 3 }>;
during GIMPLE pass: slp
jj4al0hq.c:4:1: internal compiler error: verify_ssa failed
0x118eb78 verify_ssa(bool, bool)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/tree-ssa.c:1212
0xe49eb8 execute_function_todo
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/passes.c:2049
0xe4a37b execute_todo
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/passes.c:2096

Reply via email to