https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87723
Bug ID: 87723 Summary: ICE: output_operand: invalid %-code on s390x Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu, s390x-linux-gnu Target: s390x-linux-gnu Seen both on native and cross-compiler: $ cat ice.i unsigned long a; int b; void c(char* i) { for (;;) { char g = 0; for (; g < 24; ++g) b = a << g | a >> 64 - g; { char *d = i; long h = b; char e = 0; for (; e < 8; ++e) d[e] = h; } char *d = i; signed e; unsigned long f = 0; e = 7; for (; e; --e) { f <<= 8; f |= d[e]; } for (; e < 8; ++e) d[e] = f; } } $ /home/marxin/Programming/gcc2/objdir2/gcc/xgcc -B/home/marxin/Programming/gcc2/objdir2/gcc/ -O3 -S -march=z196 -m64 -mzarch ice.i during RTL pass: final ice.i: In function ācā: ice.i:26:1: internal compiler error: output_operand: invalid %-code 26 | } | ^ 0x9bf140 output_operand_lossage(char const*, ...) ../../gcc/final.c:3600 0x9bfd68 output_asm_insn(char const*, rtx_def**) ../../gcc/final.c:3969 0x9c10a1 final_scan_insn_1 ../../gcc/final.c:3103 0x9c14db final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) ../../gcc/final.c:3149 0x9c17d6 final_1 ../../gcc/final.c:2019 0x9c28e8 rest_of_handle_final ../../gcc/final.c:4649 0x9c28e8 execute ../../gcc/final.c:4723