]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Make __builtin_ia32_f{nstenv,ldenv,nstsw,fnclex} builtins internal [PR117165]
authorJakub Jelinek <jakub@redhat.com>
Fri, 22 Nov 2024 10:33:34 +0000 (11:33 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 22 Nov 2024 10:33:34 +0000 (11:33 +0100)
commitd6d1fdcf953a79d1e3ef2d28c99c1933d1e07d80
treee47e8b2aed6bafdcbef099eeef52b151bad59860
parent77f4b1097e6aec50053577a8a1a65487ed58cbb0
i386: Make __builtin_ia32_f{nstenv,ldenv,nstsw,fnclex} builtins internal [PR117165]

As the comment says, these builtins are meant to be internal for the atomic
support and cause various ICEs when using them directly in various
conditions.
So the following patch makes them internal.
We do have also internal-fn.*, but those target specific builtins would
need to be there in generic code, so I've just added space to their name,
which is the old way to hide builtins/attributes etc.

2024-11-22  Jakub Jelinek  <jakub@redhat.com>

PR target/117165
* config/i386/i386-builtin.def (IX86_BUILTIN_FNSTENV,
IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW, IX86_BUILTIN_FNCLEX): Add
space to the end of the builtin name to make it really internal.

* gcc.target/i386/pr117165.c: New test.
gcc/config/i386/i386-builtin.def
gcc/testsuite/gcc.target/i386/pr117165.c [new file with mode: 0644]