https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108120
Bug ID: 108120 Summary: ICE: in extract_insn, at recog.cc:2791 (on ARM with -mfpu=neon -freciprocal-math -O3) Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: m.olbrich at pengutronix dot de Target Milestone: --- Created attachment 54100 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54100&action=edit test-case to reproduce the ICE When building the attached test-case with: arm-linux-gnueabihf-gcc-12 -mfpu=neon -freciprocal-math -O3 -c w.c -o /dev/null It fails with: w.c: In function ‘b’: w.c:7:1: error: unrecognizable insn: 7 | } | ^ (insn 63 62 64 7 (set (reg:V4SF 209) (mult:V4SF (reg:V4SF 209) (reg:V4SF 210))) "w.c":6:21 -1 (nil)) during RTL pass: vregs w.c:7:1: internal compiler error: in extract_insn, at recog.cc:2791 0x7f33afb67189 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 0x7f33afb67244 __libc_start_main_impl ../csu/libc-start.c:381 This is with arm-linux-gnueabihf-gcc-12 12.2.0-9 from Debian but I've seen it with the 12-20221022 snapshot and going back to at least gcc 9.2. -mfpu=neon -freciprocal-math -O3 are all needed to reproduce this. It does not happen with a different optimization level or -mfpu option.