https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117165
--- Comment #5 from Zdenek Sojka <zsojka at seznam dot cz> ---
Similar, with __builtin_ia32_fnstenv():
$ cat testcase.c
void foo() { __builtin_ia32_fnstenv(0); }
$ x86_64-pc-linux-gnu-gcc -msoft-float testcase.c
testcase.c: In function 'foo':
testcase.c:1:41: error: unrecognizable insn:
1 | void foo() { __builtin_ia32_fnstenv(0); }
| ^
(insn 5 2 0 2 (parallel [
(set (mem:BLK (const_int 0 [0]) [0 A8])
(unspec_volatile:BLK [
(const_int 0 [0])
] UNSPECV_FNSTENV))
(clobber (reg:XF 8 st))
(clobber (reg:XF 9 st(1)))
(clobber (reg:XF 10 st(2)))
(clobber (reg:XF 11 st(3)))
(clobber (reg:XF 12 st(4)))
(clobber (reg:XF 13 st(5)))
(clobber (reg:XF 14 st(6)))
(clobber (reg:XF 15 st(7)))
]) "testcase.c":1:14 -1
(nil))
during RTL pass: vregs
testcase.c:1:41: internal compiler error: in extract_insn, at recog.cc:2869
0x2cc8aae internal_error(char const*, ...)
/repo/gcc-trunk/gcc/diagnostic-global-context.cc:518
0xe8690d fancy_abort(char const*, int, char const*)
/repo/gcc-trunk/gcc/diagnostic.cc:1697
0x83cc81 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/repo/gcc-trunk/gcc/rtl-error.cc:109
0x83ccfe _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/repo/gcc-trunk/gcc/rtl-error.cc:117
0x82ba82 extract_insn(rtx_insn*)
/repo/gcc-trunk/gcc/recog.cc:2869
0x11e913d instantiate_virtual_regs_in_insn
/repo/gcc-trunk/gcc/function.cc:1612
0x11e913d instantiate_virtual_regs
/repo/gcc-trunk/gcc/function.cc:1995
0x11e913d execute
/repo/gcc-trunk/gcc/function.cc:2042
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.