Description: add loongarch64 support Author: Dandan Zhang Forwarded: https://github.com/qtwebkit/qtwebkit/pull/1096 Last-Update: 2024-03-09 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR set(WTF_CPU_S390X 1) elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") set(WTF_CPU_RISCV64 1) +elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch64") + set(WTF_CPU_LOONGARCH64 1) else () message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") endif () --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt @@ -1280,6 +1280,7 @@ if (WTF_CPU_ARM) elseif (WTF_CPU_ARM64) elseif (WTF_CPU_ALPHA) elseif (WTF_CPU_HPPA) +elseif (WTF_CPU_LOONGARCH64) elseif (WTF_CPU_PPC) elseif (WTF_CPU_PPC64) elseif (WTF_CPU_PPC64LE) --- a/Source/WTF/wtf/Platform.h +++ b/Source/WTF/wtf/Platform.h @@ -103,6 +103,11 @@ #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1 #endif /* MIPS */ +/* CPU(LOONGARCH64) - LoongArch 64-bit */ +#if defined(__loongarch64) +#define WTF_CPU_LOONGARCH64 1 +#endif + /* CPU(PPC64) - PowerPC 64-bit Big Endian */ #if ( defined(__ppc64__) \ || defined(__PPC64__)) \ @@ -711,6 +716,7 @@ || CPU(ARM64) \ || CPU(S390X) \ || CPU(MIPS64) \ + || CPU(LOONGARCH64) \ || CPU(PPC64) \ || CPU(PPC64LE) \ || CPU(RISCV64) --- 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) || CPU(RISCV64) +#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) || CPU(LOONGARCH64) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #elif defined(_M_IX86) || defined(__i386__) #if defined(_WIN32)