https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109813
Bug ID: 109813 Summary: ICE in in extract_insn, at recog.cc:2791 on ARM with -mflip-thumb Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux Target: arm-linux-gnueabi With a cross compiler (revision 475904f710c) configured with /home/worker/buildworker/tiber-gcc-trunk-arm/build/configure --enable-languages=c,c++,fortran,rust,m2 --disable-bootstrap --disable-libsanitizer --disable-multilib --enable-checking=release --prefix=/home/worker/cross --target=arm-linux-gnueabi --with-as=/usr/bin/arm-suse-linux-gnueabi-as And the following testcase: ---------------------------------------- struct bfloat1 { __bf16 a; }; struct bfloat1 h1(__bf16 a) { struct bfloat1 x; x.a = a; return x; } struct bfloat2 { __bf16 a; __bf16 b; }; struct bfloat2 h2(__bf16 a, __bf16 b) { struct bfloat2 x; x.a = a; x.b = b; return x; } ---------------------------------------- Running it as: ~/cross/bin/arm-linux-gnueabi-gcc /tmp/t.c -mflip-thumb -S Results in: /tmp/t.c: In function ‘h2’: /tmp/t.c:22:1: error: unrecognizable insn: 22 | } | ^ (insn 3 2 4 2 (set (mem/c:BF (reg/f:SI 115) [2 a+0 S2 A16]) (reg:BF 0 r0 [ a ])) "/tmp/t.c":17:39 -1 (nil)) during RTL pass: vregs /tmp/t.c:22:1: internal compiler error: in extract_insn, at recog.cc:2791 0x6673dd _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/rtl-error.cc:108 0x6673f9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/rtl-error.cc:116 0x666870 extract_insn(rtx_insn*) /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/recog.cc:2791 0x9164d0 instantiate_virtual_regs_in_insn /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/function.cc:1611 0x9164d0 instantiate_virtual_regs /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/function.cc:1984 0x9164d0 execute /home/worker/buildworker/tiber-gcc-trunk-arm/build/gcc/function.cc:2033