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

Reply via email to