[Bug target/103842] New: [12 regression] ICE on ilmbase-2.5.7: during RTL pass: expand

slyfox at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 27 09:15:41 GMT 2021


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

            Bug ID: 103842
           Summary: [12 regression] ICE on ilmbase-2.5.7: during RTL pass:
                    expand
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at gcc dot gnu.org
  Target Milestone: ---
            Target: x86_64-unknown-linux-gnu

Noticed new ICE on this week's gcc snapshot on ilmbase-2.5.7. Here is minimized
source:

    void abs(float *);
    struct Matrix33 {
      float x[3][3];
      float *operator[](int i) { return x[i]; }
      Matrix33();
      Matrix33(float f, float g) {
        x[1][0] = x[1][1] = x[1][2] = f;
        x[2][0] = g;
      }
      void equalWithAbsError();
      Matrix33 inverse() {
        Matrix33 s(x[1][2] - x[1][2], x[1][1] - x[1][1]);
        float r = s[2][0];
        if (r)
          for (int i = 0; i < 3; ++i)
            for (int j = 0; j < 3; ++j)
              s[i][j] /= r;
        for (int i = 0;;) {
          float *__trans_tmp_2 = s[i];
          abs(__trans_tmp_2);
        }
      }
    };
    void __assert_fail() {
      Matrix33 m, inv1 = m.inverse(), ident1 = inv1;
      ident1.equalWithAbsError();
    }

$ g++-12.0.0 -O3 -c bug.cpp.cpp
during RTL pass: expand
bug.cpp.cpp: In function 'void __assert_fail()':
bug.cpp.cpp:27:5: internal compiler error: Segmentation fault
   27 |     }
      |     ^
0x21196c6 internal_error(char const*, ...)
        ???:0

$ g++-12.0.0 -v
Using built-in specs.
COLLECT_GCC=/nix/store/hw64v14l9lzircg596kmj1bjiy76wcih-gcc-12.0.0/bin/g++
COLLECT_LTO_WRAPPER=/nix/store/hw64v14l9lzircg596kmj1bjiy76wcih-gcc-12.0.0/libexec/gcc/x86_64-unknown-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with:
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20211226 (experimental) (GCC)

Also attaching the unminimized preprocessed file in case it introduced
unrelated uninitialized values as `bug.cpp.cpp.orig`.


More information about the Gcc-bugs mailing list