1*4882a593SmuzhiyunFrom 8da574cf8f30f69e47f76705aa2eb07000540aeb Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Alexey Brodkin <abrodkin@synopsys.com> 3*4882a593SmuzhiyunDate: Mon, 21 Feb 2022 18:28:00 +0300 4*4882a593SmuzhiyunSubject: [PATCH] Add support for ARC processors 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Alexey Brodkin <abrodkin@synopsys.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun CMakeLists.txt | 4 +++- 9*4882a593Smuzhiyun Source/JavaScriptCore/CMakeLists.txt | 3 ++- 10*4882a593Smuzhiyun Source/WTF/wtf/Platform.h | 8 ++++++++ 11*4882a593Smuzhiyun Source/WTF/wtf/dtoa/utils.h | 2 +- 12*4882a593Smuzhiyun Source/cmake/OptionsQt.cmake | 4 ++++ 13*4882a593Smuzhiyun 5 files changed, 18 insertions(+), 3 deletions(-) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundiff --git a/CMakeLists.txt b/CMakeLists.txt 16*4882a593Smuzhiyunindex 31a2ea1fd..f0dfbda5b 100644 17*4882a593Smuzhiyun--- a/CMakeLists.txt 18*4882a593Smuzhiyun+++ b/CMakeLists.txt 19*4882a593Smuzhiyun@@ -57,7 +57,9 @@ if (MSVC_CXX_ARCHITECTURE_ID) 20*4882a593Smuzhiyun else () 21*4882a593Smuzhiyun string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) 22*4882a593Smuzhiyun endif () 23*4882a593Smuzhiyun-if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") 24*4882a593Smuzhiyun+if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arc") 25*4882a593Smuzhiyun+ set(WTF_CPU_ARC 1) 26*4882a593Smuzhiyun+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") 27*4882a593Smuzhiyun set(WTF_CPU_ARM 1) 28*4882a593Smuzhiyun elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") 29*4882a593Smuzhiyun set(WTF_CPU_ARM64 1) 30*4882a593Smuzhiyundiff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt 31*4882a593Smuzhiyunindex 937b3ed00..205dde288 100644 32*4882a593Smuzhiyun--- a/Source/JavaScriptCore/CMakeLists.txt 33*4882a593Smuzhiyun+++ b/Source/JavaScriptCore/CMakeLists.txt 34*4882a593Smuzhiyun@@ -1275,7 +1275,8 @@ if (ENABLE_WEB_REPLAY) 35*4882a593Smuzhiyun list(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/JSReplayInputs.h) 36*4882a593Smuzhiyun endif () 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun-if (WTF_CPU_ARM) 39*4882a593Smuzhiyun+if (WTF_CPU_ARC) 40*4882a593Smuzhiyun+elseif (WTF_CPU_ARM) 41*4882a593Smuzhiyun elseif (WTF_CPU_ARM64) 42*4882a593Smuzhiyun elseif (WTF_CPU_ALPHA) 43*4882a593Smuzhiyun elseif (WTF_CPU_HPPA) 44*4882a593Smuzhiyundiff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h 45*4882a593Smuzhiyunindex 5717f3ea1..b327ed693 100644 46*4882a593Smuzhiyun--- a/Source/WTF/wtf/Platform.h 47*4882a593Smuzhiyun+++ b/Source/WTF/wtf/Platform.h 48*4882a593Smuzhiyun@@ -349,6 +349,14 @@ 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #endif /* ARM */ 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun+/* CPU(ARC) - ARC */ 53*4882a593Smuzhiyun+#if defined(__arc__) 54*4882a593Smuzhiyun+#define WTF_CPU_ARC 1 55*4882a593Smuzhiyun+#if defined(__BIG_ENDIAN__) 56*4882a593Smuzhiyun+#define WTF_CPU_BIG_ENDIAN 1 57*4882a593Smuzhiyun+#endif 58*4882a593Smuzhiyun+#endif 59*4882a593Smuzhiyun+ 60*4882a593Smuzhiyun #if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) 61*4882a593Smuzhiyun #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 62*4882a593Smuzhiyun #endif 63*4882a593Smuzhiyundiff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h 64*4882a593Smuzhiyunindex 889642cee..8f1e9933e 100644 65*4882a593Smuzhiyun--- a/Source/WTF/wtf/dtoa/utils.h 66*4882a593Smuzhiyun+++ b/Source/WTF/wtf/dtoa/utils.h 67*4882a593Smuzhiyun@@ -49,7 +49,7 @@ 68*4882a593Smuzhiyun defined(__ARMEL__) || \ 69*4882a593Smuzhiyun defined(_MIPS_ARCH_MIPS32R2) 70*4882a593Smuzhiyun #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 71*4882a593Smuzhiyun-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) 72*4882a593Smuzhiyun+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARC) 73*4882a593Smuzhiyun #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 74*4882a593Smuzhiyun #elif defined(_M_IX86) || defined(__i386__) 75*4882a593Smuzhiyun #if defined(_WIN32) 76*4882a593Smuzhiyundiff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake 77*4882a593Smuzhiyunindex ec6081de0..e1a5efc1e 100644 78*4882a593Smuzhiyun--- a/Source/cmake/OptionsQt.cmake 79*4882a593Smuzhiyun+++ b/Source/cmake/OptionsQt.cmake 80*4882a593Smuzhiyun@@ -365,6 +365,10 @@ if (MINGW AND CMAKE_SIZEOF_VOID_P EQUAL 8) 81*4882a593Smuzhiyun WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PRIVATE OFF) 82*4882a593Smuzhiyun endif () 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun+if (WTF_CPU_ARC) 85*4882a593Smuzhiyun+ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PRIVATE OFF) 86*4882a593Smuzhiyun+endif () 87*4882a593Smuzhiyun+ 88*4882a593Smuzhiyun WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_QT_MULTIMEDIA) 89*4882a593Smuzhiyun WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_MEDIA_FOUNDATION) 90*4882a593Smuzhiyun WEBKIT_OPTION_CONFLICT(USE_QT_MULTIMEDIA USE_MEDIA_FOUNDATION) 91*4882a593Smuzhiyun-- 92*4882a593Smuzhiyun2.25.1 93*4882a593Smuzhiyun 94