mcst-linux-kernel/patches-2024.06.26/mongodb-3.6.13/0005-IntelRDFPMathLib20U1_e...

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>