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

--- Comment #5 from Matthias Klose <doko at debian dot org> ---
and the reduction for the original ICE:

typedef struct {
  int exponent;
  unsigned short lsu[];
} decNumber;
decNumber decDivideOp_lhs;
short decDivideOp_varbuff;
void decDivideOp(decNumber *rhs) {
  short *msu1;
  int exponent;
  unsigned short *source;
  for (; source >= decDivideOp_lhs.lsu; source--, msu1--)
    *msu1 = *source;
  for (;;)
    if (exponent)
      if (decDivideOp_varbuff)
        exponent = rhs->exponent;
}

$ build/gcc/xgcc -Bbuild/gcc/ -c -mtune=z15 -march=z13 -mzarch -O2
-fno-stack-protector -fPIC decNumber.i 
decNumber.i: In function ‘decDivideOp’:
decNumber.i:17:1: error: insn does not satisfy its constraints:
   17 | }
      | ^
(insn 7 6 2 2 (set (reg:DI 3 %r3 [69])
        (plus:DI (reg:DI 0 %r0 [77])
            (const_int 4 [0x4]))) "decNumber.i":11:17 1471 {*la_64}
     (nil))
during RTL pass: reload
decNumber.i:17:1: internal compiler error: in extract_constrain_insn, at
recog.c:2670
0x218b329 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../src/gcc/rtl-error.c:108
0x218b4b5 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../src/gcc/rtl-error.c:118
0x20d66a1 extract_constrain_insn(rtx_insn*)
        ../../src/gcc/recog.c:2670
0x1ead125 check_rtl
        ../../src/gcc/lra.c:2087
0x1eae299 lra(_IO_FILE*)
        ../../src/gcc/lra.c:2505
0x1e13ec3 do_reload
        ../../src/gcc/ira.c:5834
0x1e145f1 execute
        ../../src/gcc/ira.c:6020
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.

Reply via email to