[Bug tree-optimization/92618] New: [10 Regression] error: type mismatch in binary expression in reassoc since r273490

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 21 16:12:00 GMT 2019


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

            Bug ID: 92618
           Summary: [10 Regression] error: type mismatch in binary
                    expression in reassoc since r273490
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: linkw at gcc dot gnu.org
  Target Milestone: ---

I see following ICE:

$ cat ice.C
typedef long long __m128i __attribute__((__vector_size__(16)));
void fn1(__attribute__((__vector_size__(2 * sizeof(long)))) long long *p1) {
  __m128i a;
  *p1 = a;
}
void fn2(int *p1) {
  fn1(reinterpret_cast<__m128i *>(p1));
  fn1(reinterpret_cast<__m128i *>(reinterpret_cast<char *>(p1) + 16));
}
unsigned long b[4];
void fn3(long &p1) {
  fn2(reinterpret_cast<int *>(b));
  p1 = b[0] + b[1] + b[2] + b[3];
}

$ gcc ice.C -O2
ice.C: In function ‘void fn3(long int&)’:
ice.C:11:6: error: type mismatch in binary expression
   11 | void fn3(long &p1) {
      |      ^~~
long unsigned int

long long int

long long int

_3 = _17 + _18;during GIMPLE pass: reassoc
ice.C:11:6: internal compiler error: verify_gimple failed
0x10b6811 verify_gimple_in_cfg(function*, bool)
        /home/marxin/Programming/gcc/gcc/tree-cfg.c:5445
0xf9115f execute_function_todo
        /home/marxin/Programming/gcc/gcc/passes.c:1983
0xf91f0e execute_todo
        /home/marxin/Programming/gcc/gcc/passes.c:2037
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


More information about the Gcc-bugs mailing list