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

            Bug ID: 94088
           Summary: [10 Regression] ICE: in extract_insn, at recog.c:2294
                    (error: unrecognizable insn), or ICE: in
                    elimination_costs_in_insn, at reload1.c:3538
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: x86_64-unknown-linux-gnu

1.

gcc-10.0.1-alpha20200301 snapshot (g:151bf47e78f5d919f6cc591d11cc1f6aff61078f)
ICEs when compiling the following testcase w/ -mtbm -O1 -fira-loop-pressure
-fno-dce:

double
va (int cq)
{
  return cq / (4294950402u % -65472 + 161);
}

% x86_64-unknown-linux-gnu-gcc-10.0.1 -mtbm -O1 -fira-loop-pressure -fno-dce -c
xqyjrkzc.c
xqyjrkzc.c: In function 'va':
xqyjrkzc.c:5:1: error: unrecognizable insn:
    5 | }
      | ^
(insn 39 13 18 2 (set (reg:CCGOC 17 flags)
        (compare:CCGOC (and:DI (reg:DI 87)
                (const_int 4294934528 [0xffff8000]))
            (const_int 0 [0]))) "xqyjrkzc.c":4:13 -1
     (expr_list:REG_DEAD (reg:DI 87)
        (expr_list:REG_UNUSED (reg:CCGOC 17 flags)
            (nil))))
during RTL pass: ira
xqyjrkzc.c:5:1: internal compiler error: in extract_insn, at recog.c:2294
0x686c5d _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/rtl-error.c:108
0x686c79 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/rtl-error.c:116
0x68526b extract_insn(rtx_insn*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/recog.c:2294
0xbb3ed7 scan_one_insn
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-costs.c:1482
0xbb3ed7 process_bb_for_costs
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-costs.c:1650
0xbb5ab7 find_costs_and_classes
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-costs.c:1757
0xbb60da ira_set_pseudo_classes(bool, _IO_FILE*)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-costs.c:2311
0xba83cb ira
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira.c:5303
0xba83cb execute
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira.c:5666

2.

Negation of -fira-loop-pressure yields the following instead:

% x86_64-unknown-linux-gnu-gcc-10.0.1 -mtbm -O1 -fno-ira-loop-pressure -fno-dce
-c xqyjrkzc.c
during RTL pass: ira
xqyjrkzc.c: In function 'va':
xqyjrkzc.c:5:1: internal compiler error: in elimination_costs_in_insn, at
reload1.c:3538
    5 | }
      | ^
0x686a2f elimination_costs_in_insn
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/reload1.c:3538
0xd21ff0 calculate_elim_costs_all_insns()
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/reload1.c:1605
0xbb5e0d ira_costs()
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-costs.c:2293
0xbb01cc ira_build()
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira-build.c:3432
0xba6f43 ira
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira.c:5353
0xba6f43 execute
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/ira.c:5666

Reply via email to