summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-11 21:40:41 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-11 21:40:41 +0000
commit7908275680344f3baec461cfc5be046b1f72ec68 (patch)
treedd3d90073691428ca546906c6dc1fb5d76415d20 /gcc/emit-rtl.c
parentfc4a359bef25b5db2a0a4d40c4ddf316ace87656 (diff)
downloadgcc-7908275680344f3baec461cfc5be046b1f72ec68.tar.gz
* builtins.c (builtin_dconsts_init, dconstpi, dconste,
init_builtin_dconsts): Delete. * emit-rtl.c (dconstpi, dconste): Define. (init_emit_once): Initialize dconstpi & dconste. * real.h (dconstpi, dconste): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71320 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index fbd72244b91..d5ff690cb3f 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -116,6 +116,8 @@ REAL_VALUE_TYPE dconstm1;
REAL_VALUE_TYPE dconstm2;
REAL_VALUE_TYPE dconsthalf;
REAL_VALUE_TYPE dconstthird;
+REAL_VALUE_TYPE dconstpi;
+REAL_VALUE_TYPE dconste;
/* All references to the following fixed hard registers go through
these unique rtl objects. On machines where the frame-pointer and
@@ -5427,6 +5429,13 @@ init_emit_once (int line_numbers)
real_arithmetic (&dconstthird, RDIV_EXPR, &dconst1, &dconst3);
+ /* Initialize mathematical constants for constant folding builtins.
+ These constants need to be given to at least 160 bits precision. */
+ real_from_string (&dconstpi,
+ "3.1415926535897932384626433832795028841971693993751058209749445923078");
+ real_from_string (&dconste,
+ "2.7182818284590452353602874713526624977572470936999595749669676277241");
+
for (i = 0; i < (int) ARRAY_SIZE (const_tiny_rtx); i++)
{
REAL_VALUE_TYPE *r =