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

            Bug ID: 81534
           Summary: [7 Regression] ICE in in extract_insn, at recog.c:2311
                    (unrecognizable insn)
           Product: gcc
           Version: 7.1.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 with gcc-7-branch 20170724 on s390x-linux-gnu. Looks like a variant of
PR78738 and PR78748.

$ cat global_statistics.i
struct {
  short b;
  long c
} a = {};
d() { __atomic_fetch_add(&a.b, 0, 5); }

$ gcc -march=zEC12 -c -g -O2 global_statistics.i
global_statistics.i:4:1: warning: no semicolon at end of struct or union
 } a = {};
 ^
global_statistics.i:5:1: warning: return type defaults to 'int'
[-Wimplicit-int]
 d() { __atomic_fetch_add(&a.b, 0, 5); }
 ^
global_statistics.i: In function 'd':
global_statistics.i:5:1: error: unrecognizable insn:
(insn 21 20 22 4 (parallel [
            (set (reg:SI 71)
                (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x3ff82af1240 a>) [-1  S4 A64]))
            (set (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x3ff82af1240 a>) [-1  S4 A64])
                (unspec_volatile:SI [
                        (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl
0x3ff82af1240 a>) [-1  S4 A64])
                        (reg:SI 71)
                        (reg:SI 75)
                    ] UNSPECV_CAS))
            (set (reg:CCZ1 33 %cc)
                (compare:CCZ1 (mem/v:SI (symbol_ref:DI ("a") [flags 0x2]
<var_decl 0x3ff82af1240 a>) [-1  S4 A64]) 
                    (reg:SI 71)))
        ]) "global_statistics.i":5 -1
     (nil))
global_statistics.i:5:1: internal compiler error: in extract_insn, at
recog.c:2311
0x159681d _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../src/gcc/rtl-error.c:108
0x159685d _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../src/gcc/rtl-error.c:116
0x1565907 extract_insn(rtx_insn*)
        ../../src/gcc/recog.c:2311
0x1382d29 instantiate_virtual_regs_in_insn
        ../../src/gcc/function.c:1637
0x1382d29 instantiate_virtual_regs
        ../../src/gcc/function.c:1957
0x1382d29 execute
        ../../src/gcc/function.c:2006
Please submit a full bug report,
with preprocessed source if appropriate.

Reply via email to