Description: add support for riscv64 architecture Author: William Grant Forwarded: https://github.com/qtwebkit/qtwebkit/pull/982 Last-Update: 2020-04-28 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR set(WTF_CPU_S390 1) elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") set(WTF_CPU_S390X 1) +elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") + set(WTF_CPU_RISCV64 1) else () message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") endif () --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt @@ -1287,6 +1287,7 @@ elseif (WTF_CPU_S390) elseif (WTF_CPU_S390X) elseif (WTF_CPU_MIPS) elseif (WTF_CPU_SH4) +elseif (WTF_CPU_RISCV64) elseif (WTF_CPU_X86) elseif (WTF_CPU_X86_64) if (MSVC AND ENABLE_JIT) --- a/Source/WTF/wtf/Platform.h +++ b/Source/WTF/wtf/Platform.h @@ -176,6 +176,11 @@ #define WTF_CPU_X86_SSE2 1 #endif +/* CPU(RISCV64) - RISCV64 */ +#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 +#define WTF_CPU_RISCV64 1 +#endif + /* CPU(ARM64) - Apple */ #if (defined(__arm64__) && defined(__APPLE__)) || defined(__aarch64__) #define WTF_CPU_ARM64 1 @@ -707,7 +712,8 @@ || CPU(S390X) \ || CPU(MIPS64) \ || CPU(PPC64) \ - || CPU(PPC64LE) + || CPU(PPC64LE) \ + || CPU(RISCV64) #define USE_JSVALUE64 1 #else #define USE_JSVALUE32_64 1 --- a/Source/WTF/wtf/dtoa/utils.h +++ b/Source/WTF/wtf/dtoa/utils.h @@ -49,7 +49,7 @@ defined(__ARMEL__) || \ defined(_MIPS_ARCH_MIPS32R2) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 -#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) +#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(RISCV64) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #elif defined(_M_IX86) || defined(__i386__) #if defined(_WIN32)