Support cmake build for loongarch64. Change-Id: Ida10b617a28f217776332a716387422007383c31 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/76969 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/CMakeLists.txt b/CMakeLists.txt index 35003b4..275b717 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -60,6 +60,12 @@ else() message(FATAL_ERROR "Architecture is not supported") endif() +elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch.*") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(ARCH "loongarch64") + else() + message(FATAL_ERROR "Architecture is not supported") + endif() else() if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(ARCH "x86_64") @@ -204,9 +210,15 @@ set(REACTOR_BACKEND ${DEFAULT_REACTOR_BACKEND} CACHE STRING "JIT compiler back-end used by Reactor") set_property(CACHE REACTOR_BACKEND PROPERTY STRINGS LLVM LLVM-Submodule Subzero) -set(DEFAULT_SWIFTSHADER_LLVM_VERSION "10.0") -set(SWIFTSHADER_LLVM_VERSION ${DEFAULT_SWIFTSHADER_LLVM_VERSION} CACHE STRING "LLVM version to use") -set_property(CACHE SWIFTSHADER_LLVM_VERSION PROPERTY STRINGS "10.0") +if(ARCH STREQUAL "loongarch64") + set(DEFAULT_SWIFTSHADER_LLVM_VERSION "16.0") + set(SWIFTSHADER_LLVM_VERSION ${DEFAULT_SWIFTSHADER_LLVM_VERSION} CACHE STRING "LLVM version to use") + set_property(CACHE SWIFTSHADER_LLVM_VERSION PROPERTY STRINGS "16.0") +else() + set(DEFAULT_SWIFTSHADER_LLVM_VERSION "10.0") + set(SWIFTSHADER_LLVM_VERSION ${DEFAULT_SWIFTSHADER_LLVM_VERSION} CACHE STRING "LLVM version to use") + set_property(CACHE SWIFTSHADER_LLVM_VERSION PROPERTY STRINGS "10.0") +endif() # If defined, overrides the default optimization level of the current reactor backend. # Set to one of the rr::Optimization::Level enum values.