tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] aarch64: wrong constant values for float.h


From: Christian JULLIEN
Subject: [Tinycc-devel] aarch64: wrong constant values for float.h
Date: Wed, 15 Jul 2020 07:45:57 +0200 (CEST)

Hi,

Trying to compile mpfr using tcc (with Vincent Lefèvre help) we've found that Rpi aarch64, gcc gives:

/home/jullien/tinycc $ gcc -dM -E -xc /dev/null | grep LDBL

#define __LDBL_MANT_DIG__ 113

#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L

#define __LDBL_MAX_EXP__ 16384

#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L

#define __LDBL_HAS_QUIET_NAN__ 1

#define __LDBL_MIN_EXP__ (-16381)

#define __LDBL_HAS_DENORM__ 1

#define __LDBL_DECIMAL_DIG__ 36

#define __LDBL_HAS_INFINITY__ 1

#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L

#define __LDBL_DIG__ 33

#define __LDBL_MAX_10_EXP__ 4932

#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L

#define __LDBL_MIN_10_EXP__ (-4931)

#define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L

/home/jullien/tinycc $ 


I think that float.h should be modified accordingly, is it Ok? (what are the risc-v values)



/home/jullien/tinycc $ git diff

diff --git a/include/float.h b/include/float.h

index f16f1f0..b461e4e 100644

--- a/include/float.h

+++ b/include/float.h

@@ -39,6 +39,22 @@

 #define LDBL_MAX 1.18973149535723176502e+4932L

 #define LDBL_MAX_10_EXP 4932

 

+#elif defined __aarch64__

+/*

+ * Use values from:

+ * gcc -dM -E -xc /dev/null | grep LDBL 

+ */

+

+#define LDBL_MANT_DIG 113

+#define LDBL_DIG 33

+#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L

+#define LDBL_MIN_EXP (-16381)

+#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L

+#define LDBL_MIN_10_EXP (-4931)

+#define LDBL_MAX_EXP 16384

+#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L

+#define LDBL_MAX_EXP 16384

+

 #else

 

 /* same as IEEE double */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]