Skip to content

Commit aef36a3

Browse files
authored
Merge pull request #5509 from martin-frbg/cmake_riscv
CMake: Add default compiler options for RISCV
2 parents 016e2f1 + 4c1741d commit aef36a3

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

cmake/cc.cmake

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,30 @@ if (${CORE} STREQUAL PPCG4)
391391
endif ()
392392
endif ()
393393

394+
395+
if ((${CORE} STREQUAL RISCV64_ZVL128B) OR (${CORE} STREQUAL RISCV64_ZVL256B))
396+
set (RISCV64_OPT "rv64imafdcv")
397+
if (BUILD_BFLOAT16)
398+
set (RISCV64_OPT "${RISCV64_OPT}_zvfbfwma")
399+
endif()
400+
if (BUILD_HFLOAT16)
401+
set (RISCV64_OPT "${RISCV64_OPT}_zvfh_zfh")
402+
endif()
403+
if (${CORE} STREQUAL RISCV64_ZVL256B)
404+
set (CCOMMON_OPT "${CCOMMON_OPT} -march=${RISCV64_OPT}_zvl256b -mabi=lp64d")
405+
endif()
406+
if (${CORE} STREQUAL RISCV64_ZVL128B)
407+
set (CCOMMON_OPT "${CCOMMON_OPT} -march=${RISCV64_OPT}_zvl128b -mabi=lp64d")
408+
endif()
409+
endif()
410+
if (${CORE} STREQUAL RISCV64_GENERIC)
411+
set (CCOMMON_OPT "${CCOMMON_OPT} -march=rv64imafdc -mabi=lp64d")
412+
endif()
413+
if (${CORE} STREQUAL x280)
414+
set (CCOMMON_OPT "${CCOMMON_OPT} -march=rv64imafdcv_zba_zbb_zfh_zvl512b -mabi=lp64d")
415+
endif()
416+
417+
394418
if (NOT DYNAMIC_ARCH)
395419
if (HAVE_AVX2)
396420
set (CCOMMON_OPT "${CCOMMON_OPT} -mavx2")

cmake/system.cmake

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,28 @@ if (${TARGET} STREQUAL NEOVERSEV1)
381381
endif()
382382
endif()
383383

384+
if ((${TARGET} STREQUAL RISCV64_ZVL128B) OR (${TARGET} STREQUAL RISCV64_ZVL256B))
385+
set (RISCV64_OPT "rv64imafdcv")
386+
if (BUILD_BFLOAT16)
387+
set (RISCV64_OPT "${RISCV64_OPT}_zvfbfwma")
388+
endif()
389+
if (BUILD_HFLOAT16)
390+
set (RISCV64_OPT "${RISCV64_OPT}_zvfh_zfh")
391+
endif()
392+
if (${TARGET} STREQUAL RISCV64_ZVL256B)
393+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=${RISCV64_OPT}_zvl256b -mabi=lp64d")
394+
endif()
395+
if (${TARGET} STREQUAL RISCV64_ZVL128B)
396+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=${RISCV64_OPT}_zvl128b -mabi=lp64d")
397+
endif()
398+
endif()
399+
if (${TARGET} STREQUAL RISCV64_GENERIC)
400+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=rv64imafdc -mabi=lp64d")
401+
endif()
402+
if (${TARGET} STREQUAL x280)
403+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=rv64imafdcv_zba_zbb_zfh_zvl512b -mabi=lp64d")
404+
endif()
405+
384406
endif()
385407

386408
if (DEFINED BINARY)

0 commit comments

Comments
 (0)