https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103523
Bug ID: 103523 Summary: [12 Regression] SVE float auto-vect float format expand failure Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: tnfchris at gcc dot gnu.org Target Milestone: --- Target: aarch64-* The following testcase float *a; b, c; d() { float e; for (; c; c--, e += b) a[c] = e; } ICEs with -march=armv8-a+sve -mtune=neoverse-v1 -Ofast, the ICE requires SVE to be enabled but also requires the neoverse-v1 tuning model to trigger. The ICE is during RTL pass: expand zbuf.i: In function 'd': zbuf.i:3:1: internal compiler error: in format_helper, at real.h:233 3 | d() { | ^ 0xb20be3 format_helper::format_helper<machine_mode>(machine_mode const&) /buildAgent/work/aca863c599d7ab73/gcc/real.h:233 0xb20be3 expand_float(rtx_def*, rtx_def*, int) /buildAgent/work/aca863c599d7ab73/gcc/optabs.c:5282 0x902f37 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /buildAgent/work/aca863c599d7ab73/gcc/expr.c:9607 0x7f2c4b expand_gimple_stmt_1 /buildAgent/work/aca863c599d7ab73/gcc/cfgexpand.c:3967 0x7f2c4b expand_gimple_stmt /buildAgent/work/aca863c599d7ab73/gcc/cfgexpand.c:4028 0x7f7903 expand_gimple_basic_block /buildAgent/work/aca863c599d7ab73/gcc/cfgexpand.c:6069 0x7f9f97 execute /buildAgent/work/aca863c599d7ab73/gcc/cfgexpand.c:6795