https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70052
Bug ID: 70052 Summary: ICE compiling _Decimal128 test case Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: bergner at gcc dot gnu.org Target Milestone: --- We ICE with the following test case. bergner@genoa:~/gcc/BUGS/DFP/arith128-P8AT9/src$ cat ice.i typedef struct { _Decimal128 td0; _Decimal128 td1; } TDx2_t; TDx2_t D256_add_finite (void) { _Decimal128 z, zz; TDx2_t result = {0.DL, 0.DL}; if (zz == 0.DL) { result.td0 = z; return result; } return result; } bergner@genoa:~/gcc/BUGS/DFP/$ /home/bergner/gcc/build/gcc-fsf-mainline-base-debug/gcc/xgcc -B/home/bergner/gcc/build/gcc-fsf-mainline-base-debug/gcc -O2 -mcpu=power8 -S ice.i ice.i: In function ‘D256_add_finite’: ice.i:21:1: error: unrecognizable insn: } ^ (insn 110 19 111 3 (set (reg:DD 33 1) (const_double:DD 0E-398 [N/A])) ice.i:17 -1 (nil)) ice.i:21:1: internal compiler error: in extract_insn, at recog.c:2287 0x10c0b3d7 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/bergner/gcc/gcc-fsf-mainline-base/gcc/rtl-error.c:108 0x10c0b44f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/bergner/gcc/gcc-fsf-mainline-base/gcc/rtl-error.c:116 0x10b8f313 extract_insn(rtx_insn*) /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:2287 0x10b8eddf extract_insn_cached(rtx_insn*) /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:2178 0x10712067 cleanup_subreg_operands(rtx_insn*) /home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:3104 0x10b916b7 split_insn /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:2901 0x10b918a7 split_all_insns() /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:2955 0x10b94973 rest_of_handle_split_after_reload /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:3891 0x10b94a33 execute /home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:3920 Please submit a full bug report,