https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114234
Bug ID: 114234 Summary: [14 Regression] verify_ssa failure with early-break vectorisation Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rsandifo at gcc dot gnu.org Target Milestone: --- The following test ICEs with -Ofast on aarch64: void bar(); float foo (float x) { float a = 1; float b = x; long z = 200; for (;;) { float c = b - 1.0f; a *= c; z -= 1; if (z == 0) { bar (); break; } if (b <= 3.0f) break; b = c; } return a * b; } (reduced from wrf). The ICE is: foo.c:3:1: error: definition in block 15 does not dominate use in block 10 3 | foo (float x) | ^~~ for SSA_NAME: stmp_a_9.10_103 in statement: a_47 = PHI <stmp_a_9.10_103(10), stmp_a_9.10_103(15)> PHI argument stmp_a_9.10_103 for PHI node a_47 = PHI <stmp_a_9.10_103(10), stmp_a_9.10_103(15)> during GIMPLE pass: vect