[Bug target/67143] New: [5/6 Regression] ICE (could not split insn) on aarch64-linux-gnu

doko at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 7 08:53:00 GMT 2015


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

            Bug ID: 67143
           Summary: [5/6 Regression] ICE (could not split insn) on
                    aarch64-linux-gnu
           Product: gcc
           Version: 5.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

seen when building mysql trunk using trunk r226068, and gcc-5-branch r226354:

$ cat btr0btr.ii
long a, c;
bool b;
int d;
void ut_dbg_assertion_failed() __attribute__((noreturn));
long dict_index_is_spatial(int *);
void btr_block_get_func(char *);
long btr_page_get_level_low(unsigned char *);
void btr_validate_level(long p1, bool) {
  unsigned char *e;
  while (p1 != btr_page_get_level_low(e)) {
    if (__builtin_expect(b, 0))
      ut_dbg_assertion_failed();
    if (dict_index_is_spatial(&d))
      while (c != 5535) {
        __sync_add_and_fetch(&a, 536870912);
        btr_block_get_func("");
      }
  }
  for (long i; i; ++i)
    btr_validate_level(-i, true);
}

$ g++ -Wno-write-strings -c -g -O3 btr0btr.ii 
btr0btr.ii: In function 'void btr_validate_level(long int, bool)':
btr0btr.ii:21:1: error: could not split insn
 }
 ^
(insn 300 298 303 (parallel [
            (set (mem/v:DI (reg/f:DI 0 x0 [234]) [-1  S8 A64])
                (unspec_volatile:DI [
                        (plus:DI (mem/v:DI (reg/f:DI 0 x0 [234]) [-1  S8 A64])
                            (const_int 536870912 [0x20000000]))
                        (const_int 5 [0x5])
                    ] UNSPECV_ATOMIC_OP))
            (clobber (reg:CC 66 cc))
            (clobber (reg:DI 1 x1 [490]))
            (clobber (reg:SI 2 x2 [491]))
        ]) btr0btr.ii:15 2451 {atomic_adddi}
     (expr_list:REG_DEAD (reg/f:DI 0 x0 [234])
        (expr_list:REG_UNUSED (reg:CC 66 cc)
            (expr_list:REG_UNUSED (reg:SI 2 x2 [491])
                (expr_list:REG_UNUSED (reg:DI 1 x1 [490])
                    (nil))))))
btr0btr.ii:21:1: internal compiler error: in final_scan_insn, at final.c:3020
0x9eadbf _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../src/gcc/rtl-error.c:110
0x80dfc7 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../src/gcc/final.c:3020
0x80e287 final(rtx_insn*, _IO_FILE*, int)
        ../../src/gcc/final.c:2089
0x80e78f rest_of_handle_final
        ../../src/gcc/final.c:4488
0x80e78f execute
        ../../src/gcc/final.c:4563
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.



More information about the Gcc-bugs mailing list