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

            Bug ID: 84677
           Summary: internal compiler error: in extract_constrain_insn, at
                    recog.c:2205
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: inline-asm
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vegard.nossum at gmail dot com
  Target Milestone: ---

Input:

void a() {
  double b;
  asm ("" : "+pz, y" (b));
}


Output:

$ xgcc -x c++ -S -
<stdin>: In function 'void a()':
<stdin>:4:1: error: unrecognizable insn:
(insn 7 11 5 2 (parallel [
            (set (reg:DF 0 ax [orig:87 b ] [87])
                (asm_operands:DF ("") ("=pz, y") 0 [
                        (reg:DF 0 ax [orig:87 b ] [87])
                    ]
                     [
                        (asm_input:DF ("0,0") <stdin>:3)
                    ]
                     [] <stdin>:3))
            (clobber (reg:CCFP 18 fpsr))
            (clobber (reg:CC 17 flags))
        ]) "<stdin>":3 -1
     (nil))
during RTL pass: reload
<stdin>:4:1: internal compiler error: in extract_constrain_insn, at
recog.c:2205
0x610903 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/vegard/git/gcc/gcc/rtl-error.c:108
0x610991 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/vegard/git/gcc/gcc/rtl-error.c:116
0x2d17a96 extract_constrain_insn(rtx_insn*)
        /home/vegard/git/gcc/gcc/recog.c:2205
0x282f53f check_rtl
        /home/vegard/git/gcc/gcc/lra.c:2155
0x282f53f lra(_IO_FILE*)
        /home/vegard/git/gcc/gcc/lra.c:2573
0x260b334 do_reload
        /home/vegard/git/gcc/gcc/ira.c:5465
0x260b334 execute
        /home/vegard/git/gcc/gcc/ira.c:5649

$ xgcc --version
xgcc (GCC) 8.0.1 20180301 (experimental)

Built from git c435a9e730c6e8f10da09d58b4fc9aaeb401b0d5 (r258097).

7.3.0 seems fine with this.

Test case was minimised by C-Reduce.

Reply via email to