[Bug target/91102] New: [9/10 Regression] aarch64 ICE on Linux kernel with -Os starting with r270266

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jul 6 20:23:00 GMT 2019


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

            Bug ID: 91102
           Summary: [9/10 Regression] aarch64 ICE on Linux kernel with -Os
                    starting with r270266
           Product: gcc
           Version: 9.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

int
foo (long d, long l)
{
  register long e asm ("x1") = d;
  register long f asm("x2") = l;
  asm ("" : : "r" (e), "r" (f));
}

struct T { int i; int j; };
union S { long h; struct T t; };

void
bar (union S b)
{
  while (1)
    {
      union S c = b;
      c.t.j++;
      b.h = foo (b.h, c.h);
    }
}

ICEs with -Os on aarch64-linux starting with r270266:
rh1727453.i: In function ‘bar’:
rh1727453.i:21:1: error: unable to generate reloads for:
   21 | }
      | ^
(insn 15 14 16 3 (set (reg/v:DI 2 x2 [ f ])
        (ior:DI (and:DI (reg/v:DI 1 x1 [ e ])
                (const_int 4294967295 [0xffffffff]))
            (ashift:DI (subreg:DI (reg:SI 99) 0)
                (const_int 32 [0x20])))) "rh1727453.i":5:17 794
{*aarch64_bfidi4_noand}
     (expr_list:REG_DEAD (reg:SI 99)
        (nil)))
during RTL pass: reload
rh1727453.i:21:1: internal compiler error: in curr_insn_transform, at
lra-constraints.c:3962
0xfa3363 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc/rtl-error.c:108
0xe09d9f curr_insn_transform
        ../../gcc/lra-constraints.c:3962
0xe0d788 lra_constraints(bool)
        ../../gcc/lra-constraints.c:4978
0xdf5639 lra(_IO_FILE*)
        ../../gcc/lra.c:2472
0xd9d0c2 do_reload
        ../../gcc/ira.c:5516
0xd9d550 execute
        ../../gcc/ira.c:5700
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