import elementary functions as intrinsics
commit2ad4120746f401959637e467112cb768f945463d
authorAlexandre Oliva <oliva@adacore.com>
Sun, 11 Oct 2020 23:27:27 +0000 (11 20:27 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Sun, 11 Oct 2020 23:27:27 +0000 (11 20:27 -0300)
treef97d815d2b8bda13dcfd0282d6320bfc6fe3d536
parent4eaf96c56c1c97b11af42a4caaa12b37870308d7
import elementary functions as intrinsics

Importing them as intrinsics enables GCC to treat them as builtins
whose behavior is known by GCC.

Specifically, if they aren't intrinsics, calls to Sin and Cos won't be
combined into sincos.

We still need to make Sin and Cos wrappers inline in user-exposed
interfaces to get users the benefit of this transformation.
That is forthcoming in a separate patch.

for  gcc/ada/ChangeLog

* libgnat/a-numaux.ads: Make all imports Intrinsic.
* libgnat/a-numaux__darwin.ads: Likewise.
* libgnat/a-numaux__libc-x86.ads: Likewise.
* libgnat/a-numaux__vxworks.ads: Likewise.
gcc/ada/libgnat/a-numaux.ads
gcc/ada/libgnat/a-numaux__darwin.ads
gcc/ada/libgnat/a-numaux__libc-x86.ads
gcc/ada/libgnat/a-numaux__vxworks.ads