[libc-commits] [PATCH] D127571: Initiating a RISC-V port of llvm-libc

Ivan Serdyuk via Phabricator via libc-commits libc-commits at lists.llvm.org
Sat Jun 11 08:09:37 PDT 2022


oceanfish81 created this revision.
Herald added subscribers: libc-commits, sunshaoce, VincentWu, luke957, vkmr, luismarques, sameer.abuasal, s.egerton, Jim, rogfer01, shiva0217, kito-cheng, simoncook, arichardson, mgorny.
Herald added projects: libc-project, All.
oceanfish81 requested review of this revision.
Herald added a subscriber: pcwang-thead.

This was tested under rv64gc.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D127571

Files:
  libc/cmake/modules/LLVMLibCArchitectures.cmake
  libc/src/__support/architectures.h
  libc/src/string/memory_utils/utils.h


Index: libc/src/string/memory_utils/utils.h
===================================================================
--- libc/src/string/memory_utils/utils.h
+++ libc/src/string/memory_utils/utils.h
@@ -15,7 +15,7 @@
 // cache line sizes depend on implementations, not architectures.  There
 // are even implementations with cache line sizes configurable at boot
 // time.
-#if defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_X86)
+#if defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_X86) || defined(LLVM_LIBC_ARCH_RISCV)
 #define LLVM_LIBC_CACHELINE_SIZE 64
 #else
 #error "Unsupported platform for memory functions."
Index: libc/src/__support/architectures.h
===================================================================
--- libc/src/__support/architectures.h
+++ libc/src/__support/architectures.h
@@ -33,6 +33,10 @@
 #define LLVM_LIBC_ARCH_AARCH64
 #endif
 
+#if defined(__riscv) || defined(__riscv__)
+#define LLVM_LIBC_ARCH_RISCV
+#endif
+
 #if (defined(LLVM_LIBC_ARCH_AARCH64) || defined(LLVM_LIBC_ARCH_ARM))
 #define LLVM_LIBC_ARCH_ANY_ARM
 #endif
Index: libc/cmake/modules/LLVMLibCArchitectures.cmake
===================================================================
--- libc/cmake/modules/LLVMLibCArchitectures.cmake
+++ libc/cmake/modules/LLVMLibCArchitectures.cmake
@@ -17,6 +17,9 @@
 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
   set(LIBC_TARGET_ARCHITECTURE_IS_POWER TRUE)
   set(LIBC_TARGET_ARCHITECTURE "power")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv64|riscv)")
+  set(LIBC_TARGET_ARCHITECTURE_IS_POWER TRUE)
+  set(LIBC_TARGET_ARCHITECTURE "riscv")
 else()
   message(FATAL_ERROR "Unsupported processor ${CMAKE_SYSTEM_PROCESSOR}")
 endif()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127571.436143.patch
Type: text/x-patch
Size: 1702 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220611/6ee3f36a/attachment.bin>


More information about the libc-commits mailing list