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

            Bug ID: 93174
           Summary: [10 Regression] ICE building glibc
                    __sha512_process_block for i686
           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: jsm28 at gcc dot gnu.org
  Target Milestone: ---
            Target: i686-*

Created attachment 47597
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47597&action=edit
Preprocessed source

The following ICE appears building glibc for i686-gnu with GCC trunk (tested
with r279905). For some reason it doesn't appear building i686-pc-linux-gnu
glibc (in my bot's testing) although I can reproduce the same ICE building the
preprocessed source with an x86_64-linux-gnu compiler with -m32. Compile with
-O2, and -m32 if using a 86-bit compiler. Based on my bot's results, this is a
recent regression on trunk (but I haven't tested using fixed testcase sources
and variable compiler).

In file included from sha512.c:238:
./sha512-block.c: In function '__sha512_process_block':
./sha512-block.c:105:1: error: unrecognizable insn:
(insn 735 734 49 2 (parallel [
            (set (reg:CCC 17 flags)
                (compare:CCC (zero_extend:DI (plus:SI (plus:SI (ltu:SI (reg:CC
17 flags)
                                    (const_int 0 [0]))
                                (mem/j:SI (plus:SI (reg:SI 5 di [277])
                                        (const_int 68 [0x44])) [12
ctx_90(D)->D.4378.total+4 S4 A32]))
                            (reg:SI 1 dx [ lolen+4 ])))
                    (plus:DI (zero_extend:DI (reg:SI 1 dx [ lolen+4 ]))
                        (ltu:DI (reg:CC 17 flags)
                            (const_int 0 [0])))))
            (set (mem/j:SI (plus:SI (reg:SI 5 di [277])
                        (const_int 68 [0x44])) [12 ctx_90(D)->D.4378.total+4 S4
A32])
                (plus:SI (plus:SI (ltu:SI (reg:CC 17 flags)
                            (const_int 0 [0]))
                        (mem/j:SI (plus:SI (reg:SI 5 di [277])
                                (const_int 68 [0x44])) [12
ctx_90(D)->D.4378.total+4 S4 A32]))
                    (reg:SI 1 dx [ lolen+4 ])))
        ]) "./sha512-block.c":26:36 -1
     (nil))
during RTL pass: split2
./sha512-block.c:105:1: internal compiler error: in extract_insn, at
recog.c:2294
0x5a6f14 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /scratch/jmyers/glibc/many10/src/gcc/gcc/rtl-error.c:108
0x5a6f30 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /scratch/jmyers/glibc/many10/src/gcc/gcc/rtl-error.c:116
0xc3a4a3 extract_insn(rtx_insn*)
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2294
0xc3a511 extract_insn_cached(rtx_insn*)
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2183
0x93c699 cleanup_subreg_operands(rtx_insn*)
        /scratch/jmyers/glibc/many10/src/gcc/gcc/final.c:3312
0xc3881f split_insn
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2920
0xc3c93e split_all_insns()
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2988
0xc3ca78 rest_of_handle_split_before_sched2
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:4015
0xc3ca78 execute
        /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:4054
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.

Reply via email to