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

            Bug ID: 99422
           Summary: [11 Regression] ICE in extract_constrain_insn building
                    glibc pthread_create
           Product: gcc
           Version: 11.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
                CC: vmakarov at gcc dot gnu.org
  Target Milestone: ---
            Target: i686-*-linux-gnu

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

Commit 9105757a59b890194ebf5b4fcbacd58db34ef332 ("[PR99378] LRA: Skip
decomposing address for asm insn operand with unknown constraint.") introduced
the following ICE building glibc for i686-linux-gnu. Tested with an x86_64
compiler; compile the attached .i file with the following options: -m32
-march=i686 -O2 -pg -S

In file included from pthread_create.c:59:
allocatestack.c: In function '__nptl_setxid':
allocatestack.c:1173:1: error: unrecognizable insn:
(insn 103 534 535 21 (parallel [
            (set (mem/v:SI (plus:SI (mem/f/c:SI (plus:SI (reg/f:SI 6 bp)
                                (const_int 8 [0x8])) [85 cmdp+0 S4 A32])
                        (const_int 16 [0x10])) [5 cmdp_52(D)->cntr+0 S4 A32])
                (asm_operands/v:SI ("lock;incl %0") ("=m") 0 [
                        (mem/v:SI (plus:SI (reg:SI 0 ax [208])
                                (const_int 16 [0x10])) [5 cmdp_52(D)->cntr+0 S4
A32])
                        (const_int 12 [0xc])
                    ]
                     [
                        (asm_input:SI ("m") allocatestack.c:1036)
                        (asm_input:SI ("i") allocatestack.c:1036)
                    ]
                     [] allocatestack.c:1036))
            (clobber (reg:CC 17 flags))
        ]) "allocatestack.c":1036:47 -1
     (nil))
during RTL pass: reload
allocatestack.c:1173:1: internal compiler error: in extract_constrain_insn, at
recog.c:2670
0x63ae76 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /scratch/jmyers/glibc/many11/src/gcc/gcc/rtl-error.c:108
0x63ae92 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /scratch/jmyers/glibc/many11/src/gcc/gcc/rtl-error.c:116
0xd1149d extract_constrain_insn(rtx_insn*)
        /scratch/jmyers/glibc/many11/src/gcc/gcc/recog.c:2670
0xbec6a7 check_rtl
        /scratch/jmyers/glibc/many11/src/gcc/gcc/lra.c:2087
0xbf14ac lra(_IO_FILE*)
        /scratch/jmyers/glibc/many11/src/gcc/gcc/lra.c:2505
0xba1489 do_reload
        /scratch/jmyers/glibc/many11/src/gcc/gcc/ira.c:5827
0xba1489 execute
        /scratch/jmyers/glibc/many11/src/gcc/gcc/ira.c:6013
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