https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121588
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Sam James from comment #4) > I did try get rid of the assembly but the only way I managed was > ice-on-invalid. I tried too on x86_64 with: ``` /* .globl allow_unaligned allow_unaligned: b red_led_on ldr =board_init_r */ void red_led_on(); void board_init_r(); __attribute__((noipa)) void log_init(void (*)()){} __attribute__((noipa)) void *f(void) { red_led_on(); return board_init_r; } ``` and compiling that seperately and without -flto. But maybe I did something wrong.