220 lines
8.1 KiB
Diff
220 lines
8.1 KiB
Diff
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h 2020-07-20 21:17:38.521358182 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/architecture.h 2020-07-20 21:18:00.553827703 +0300
|
|
@@ -710,6 +710,62 @@
|
|
# define BITS_PER_HALF_WORD 32
|
|
# endif
|
|
|
|
+#elif (defined(__e2k__))
|
|
+
|
|
+# undef vax
|
|
+# undef mips
|
|
+# undef hp_pa
|
|
+# undef cray
|
|
+# undef alpha
|
|
+# undef ix86
|
|
+# undef merced
|
|
+# undef amd64
|
|
+# undef sparc
|
|
+# undef mips
|
|
+# undef e2k
|
|
+
|
|
+# define e2k 11
|
|
+# define ARCHITECTURE e2k
|
|
+
|
|
+# define LOCAL_DATA 1
|
|
+# undef STATIC_ROUNDING_MODES //IDK
|
|
+# define DYNAMIC_ROUNDING_MODES 1 //IDK
|
|
+# define DENORMS_EMULATED 1
|
|
+# define SEPARATE_FLOAT_REGS 1
|
|
+# undef MULTIPLE_ISSUE
|
|
+# undef UNSIGNED_TO_FLOAT
|
|
+# define UNSIGNED_MULTIPLY 1
|
|
+# define ENDIANESS little_endian
|
|
+# define SCALE_METHOD by_int
|
|
+# define CVT_TO_HI_LO_METHOD by_flt
|
|
+
|
|
+# define BITS_PER_CHAR 8
|
|
+# define BITS_PER_SHORT 16
|
|
+# define BITS_PER_INT 32
|
|
+# define BITS_PER_LONG 64
|
|
+
|
|
+# define BITS_PER_FLOAT 32
|
|
+# define BITS_PER_DOUBLE 64
|
|
+# define BITS_PER_LONG_DOUBLE 128
|
|
+
|
|
+# define INT_8 signed char
|
|
+# define INT_16 signed short
|
|
+# define INT_32 signed int
|
|
+# define INT_64 signed long long
|
|
+# undef INT_128
|
|
+# define U_INT_8 unsigned char
|
|
+# define U_INT_16 unsigned short
|
|
+# define U_INT_32 unsigned int
|
|
+# define U_INT_64 unsigned long long
|
|
+# undef U_INT_128
|
|
+
|
|
+# define WORD INT_64
|
|
+# define U_WORD U_INT_64
|
|
+# define BITS_PER_WORD 64
|
|
+
|
|
+# define HALF_WORD INT_32
|
|
+# define U_HALF_WORD U_INT_32
|
|
+# define BITS_PER_HALF_WORD 32
|
|
|
|
#else
|
|
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_private.h new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_private.h
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_private.h 2020-07-20 21:17:38.521358182 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/float128/dpml_private.h 2020-07-20 21:18:00.553827703 +0300
|
|
@@ -246,6 +246,10 @@
|
|
|
|
# include "ix86_macros.h"
|
|
|
|
+#elif (ARCHITECTURE == e2k )
|
|
+
|
|
+# include "ix86_macros.h"
|
|
+
|
|
#else
|
|
|
|
# error Unknown ARCHITECTURE.
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/makefile.iml_head new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/makefile.iml_head
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/makefile.iml_head 2020-07-20 21:17:38.501357755 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/makefile.iml_head 2020-07-20 21:18:00.569828044 +0300
|
|
@@ -344,10 +344,10 @@
|
|
endif
|
|
endif
|
|
|
|
-ARCH_ALIAS := x86 ia64 EM64T x86_64 i686 amd64 Intel64 sun4u s390x
|
|
-ARCH_LIST := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 s390x
|
|
-ARCH_TYPE := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 s390x
|
|
-ARCH_TYPES := IA32 IA64 EFI2 s390x
|
|
+ARCH_ALIAS := x86 ia64 EM64T x86_64 i686 amd64 Intel64 sun4u s390x e2k
|
|
+ARCH_LIST := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 s390x e2k
|
|
+ARCH_TYPE := IA32 IA64 EFI2 EFI2 IA32 EFI2 EFI2 EFI2 s390x e2k
|
|
+ARCH_TYPES := IA32 IA64 EFI2 s390x e2k
|
|
|
|
UARCH_LIST := SSE GSSE LRB LRB2
|
|
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_conf.h new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_conf.h
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_conf.h 2020-07-20 21:17:38.517358096 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_conf.h 2020-07-21 11:53:23.303080712 +0300
|
|
@@ -874,7 +874,7 @@
|
|
#define BID_SIZE_LONG 4
|
|
#else
|
|
#if defined(__x86_64__) || defined (__ia64__) || defined(HPUX_OS_64) || defined(__powerpc64__) \
|
|
- || defined(__s390x__)
|
|
+ || defined(__s390x__) || defined(__e2k__)
|
|
#define BID_SIZE_LONG 8
|
|
#else
|
|
#define BID_SIZE_LONG 4
|
|
@@ -1453,7 +1453,7 @@
|
|
|
|
|
|
|
|
-#if defined (UNCHANGED_BINARY_STATUS_FLAGS) && defined (BID_FUNCTION_SETS_BINARY_FLAGS)
|
|
+#if defined (UNCHANGED_BINARY_STATUS_FLAGS) && defined (BID_FUNCTION_SETS_BINARY_FLAGS) && !defined(__e2k__)
|
|
# if defined( BID_MS_FLAGS )
|
|
|
|
# include <float.h>
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/SConscript new/src/third_party/IntelRDFPMathLib20U1/SConscript
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/SConscript 2020-07-20 21:17:38.501357755 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/SConscript 2020-07-20 21:18:00.553827703 +0300
|
|
@@ -316,6 +316,9 @@
|
|
elif processor == 's390x':
|
|
cpp_defines['s390x'] = '1'
|
|
cpp_defines['BID_BIG_ENDIAN'] = '1'
|
|
+elif processor == 'e2k':
|
|
+ cpp_defines['E2K'] = '1'
|
|
+ cpp_defines['e2k'] = '1'
|
|
else:
|
|
assert False, "Unsupported architecture: " + processor
|
|
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/TESTS/readtest.c new/src/third_party/IntelRDFPMathLib20U1/TESTS/readtest.c
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/TESTS/readtest.c 2020-07-20 21:17:38.537358523 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/TESTS/readtest.c 2020-07-20 21:18:48.798855751 +0300
|
|
@@ -1682,7 +1682,7 @@
|
|
|
|
void check_den_passing32(float x)
|
|
{
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
fexcept_t ff;
|
|
fegetexceptflag(&ff, FE_ALL_EXCEPT);
|
|
if (ff & FE_DENORMAL) Den_passed_incorrectly32 = 1;
|
|
@@ -1690,7 +1690,7 @@
|
|
}
|
|
void check_den_passing64(double x)
|
|
{
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
fexcept_t ff;
|
|
fegetexceptflag(&ff, FE_ALL_EXCEPT);
|
|
if (ff & FE_DENORMAL) Den_passed_incorrectly64 = 1;
|
|
@@ -1698,7 +1698,7 @@
|
|
}
|
|
void check_den_passing80(long double x)
|
|
{
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
fexcept_t ff;
|
|
fegetexceptflag(&ff, FE_ALL_EXCEPT);
|
|
if (ff & FE_DENORMAL) Den_passed_incorrectly80 = 1;
|
|
@@ -1783,7 +1783,7 @@
|
|
|
|
*((int*)&snan_check64+BID_HIGH_128W) = 0x00000000;
|
|
*((int*)&snan_check64+BID_LOW_128W) = 0x00000001;
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
feclearexcept (FE_ALL_EXCEPT);
|
|
check_den_passing64(snan_check64);
|
|
*((int*)&snan_check32) = 0x00000001;
|
|
@@ -1799,7 +1799,7 @@
|
|
*((int*)&snan_check80+1) = 0;
|
|
*((short*)&snan_check80+4) = 1;
|
|
#endif
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
feclearexcept (FE_ALL_EXCEPT);
|
|
check_den_passing80(snan_check80);
|
|
feclearexcept (FE_ALL_EXCEPT);
|
|
@@ -1963,7 +1963,7 @@
|
|
|
|
void save_binary_status()
|
|
{
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
if (check_binary_flags_opt) {
|
|
feclearexcept (FE_ALL_EXCEPT);
|
|
fesetexceptflag(&ini_binary_flags, FE_ALL_EXCEPT);
|
|
@@ -1977,7 +1977,7 @@
|
|
char *p;
|
|
//printf("snan arg, passed incor %d %d\n", arg64_snan, SNaN_passed_incorrectly64);
|
|
if (check_binary_flags_opt || debug_opt) {
|
|
-#if !defined _MSC_VER && !defined __INTEL_COMPILER
|
|
+#if !defined _MSC_VER && !defined __INTEL_COMPILER && !defined(__e2k__)
|
|
fegetexceptflag(&test_binary_flags, FE_ALL_EXCEPT);
|
|
|
|
if (p = strstr (func, "binary32_to")) {
|
|
diff -Naur old/src/third_party/IntelRDFPMathLib20U1/TESTS/test_bid_conf.h new/src/third_party/IntelRDFPMathLib20U1/TESTS/test_bid_conf.h
|
|
--- old/src/third_party/IntelRDFPMathLib20U1/TESTS/test_bid_conf.h 2020-07-20 21:17:38.525358268 +0300
|
|
+++ new/src/third_party/IntelRDFPMathLib20U1/TESTS/test_bid_conf.h 2020-07-21 11:53:44.099520986 +0300
|
|
@@ -870,7 +870,7 @@
|
|
#if defined(WINDOWS)
|
|
#define BID_SIZE_LONG 4
|
|
#else
|
|
-#if defined(__x86_64__) || defined (__ia64__) || defined(__powerpc64__)
|
|
+#if defined(__x86_64__) || defined (__ia64__) || defined(__powerpc64__) || defined(__e2k__)
|
|
#define BID_SIZE_LONG 8
|
|
#else
|
|
#define BID_SIZE_LONG 4
|
|
@@ -1213,7 +1213,7 @@
|
|
# define BID_MS_FLAGS
|
|
#endif
|
|
|
|
-#if defined (UNCHANGED_BINARY_STATUS_FLAGS) && defined (BID_FUNCTION_SETS_BINARY_FLAGS)
|
|
+#if defined (UNCHANGED_BINARY_STATUS_FLAGS) && defined (BID_FUNCTION_SETS_BINARY_FLAGS) && !defined(__e2k__)
|
|
# if defined( BID_MS_FLAGS )
|
|
|
|
# include <float.h>
|