https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107243
Bug ID: 107243 Summary: ice in arithmetic_instr, at config/arm/arm.cc:2089 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- On machine type arm-linux-gnueabihf, this code void gdbstub_write_word(void) { int val = 0; void *addr = 0; unsigned long brr; asm volatile(" movgs gr0,brr \n" " sth%I2 %1,%M2 \n" " movsg brr,%0 \n" : "=r"(brr) : "r"(val), "m"(*addr)); } does this: during RTL pass: final q.i: In function 'gdbstub_write_word': q.i:9:1: internal compiler error: in arithmetic_instr, at config/arm/arm.c:20612 9 | } | ^