The following test program static int vector_to_bit(int vector) { return 1U << (vector & 0x1fU); } static volatile int *vector_to_imr(int vector) { return (volatile int *)(vector + 64); } void bsp_interrupt_vector_disable(int vector) { volatile int *imr = vector_to_imr(vector); int bit = vector_to_bit(vector); *imr |= bit; } yields m68k-rtems4.12-gcc -S -mcfv4e -O2 test.c -o /dev/null test.c: In function 'bsp_interrupt_vector_disable': test.c:14:1: internal compiler error: in find_reloads, at reload.c:4077 } ^ 0x7f2c13 find_reloads(rtx_insn*, int, int, int, short*) /home/EB/sebastian_h/archive/gcc-git/gcc/reload.c:4077 0x80037d calculate_needs_all_insns /home/EB/sebastian_h/archive/gcc-git/gcc/reload1.c:1472 0x80037d reload(rtx_insn*, int) /home/EB/sebastian_h/archive/gcc-git/gcc/reload1.c:987 0x6e798c do_reload /home/EB/sebastian_h/archive/gcc-git/gcc/ira.c:5484 0x6e798c execute /home/EB/sebastian_h/archive/gcc-git/gcc/ira.c:5656 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.
*** Bug 81132 has been marked as a duplicate of this bug. ***
. *** This bug has been marked as a duplicate of bug 80970 ***