Skip to content

Commit 1093def

Browse files
committed
Merge branch 'risc-v' into develop
2 parents 8892121 + 889c5d0 commit 1093def

File tree

176 files changed

+44800
-5922
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+44800
-5922
lines changed

Makefile.prebuild

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,21 @@ endif
5757

5858
ifeq ($(TARGET), CK860FV)
5959
TARGET_FLAGS = -march=ck860v -mcpu=ck860fv -mfdivdu -mhard-float
60+
61+
ifeq ($(TARGET), x280)
62+
TARGET_FLAGS = -march=rv64imafdcv_zba_zbb_zfh -mabi=lp64d
63+
endif
64+
65+
ifeq ($(TARGET), RISCV64_ZVL256B)
66+
TARGET_FLAGS = -march=rv64imafdcv -mabi=lp64d
67+
endif
68+
69+
ifeq ($(TARGET), RISCV64_ZVL128B)
70+
TARGET_FLAGS = -march=rv64imafdcv -mabi=lp64d
71+
endif
72+
73+
ifeq ($(TARGET), RISCV64_GENERIC)
74+
TARGET_FLAGS = -march=rv64imafdc -mabi=lp64d
6075
endif
6176

6277
all: getarch_2nd

Makefile.riscv64

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,19 @@ ifeq ($(CORE), C910V)
22
CCOMMON_OPT += -march=rv64imafdcv0p7_zfh_xtheadc -mabi=lp64d -mtune=c920
33
FCOMMON_OPT += -march=rv64imafdcv0p7_zfh_xtheadc -mabi=lp64d -mtune=c920 -static
44
endif
5+
ifeq ($(CORE), x280)
6+
CCOMMON_OPT += -march=rv64imafdcv_zba_zbb_zfh_zvl512b -mabi=lp64d -ffast-math
7+
FCOMMON_OPT += -march=rv64imafdcv_zba_zbb_zfh -mabi=lp64d -static
8+
endif
9+
ifeq ($(CORE), RISCV64_ZVL256B)
10+
CCOMMON_OPT += -march=rv64imafdcv_zvl256b -mabi=lp64d
11+
FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static
12+
endif
13+
ifeq ($(CORE), RISCV64_ZVL128B)
14+
CCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d
15+
FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static
16+
endif
17+
ifeq ($(CORE), RISCV64_GENERIC)
18+
CCOMMON_OPT += -march=rv64imafdc -mabi=lp64d
19+
FCOMMON_OPT += -march=rv64imafdc -mabi=lp64d -static
20+
endif

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,11 @@ Please read `GotoBLAS_01Readme.txt` for older CPU models already supported by th
198198
```
199199
(also known to work on C906 as long as you use only single-precision functions - its instruction set support appears to be incomplete in double precision)
200200

201+
- **x280**: Level-3 BLAS and Level-1,2 are optimized by RISC-V Vector extension 1.0.
202+
```sh
203+
make HOSTCC=gcc TARGET=x280 NUM_THREADS=8 CC=riscv64-unknown-linux-gnu-clang FC=riscv64-unknown-linux-gnu-gfortran
204+
```
205+
201206
### Support for multiple targets in a single library
202207

203208
OpenBLAS can be built for multiple targets with runtime detection of the target cpu by specifiying `DYNAMIC_ARCH=1` in Makefile.rule, on the gmake command line or as `-DDYNAMIC_ARCH=TRUE` in cmake.

TargetList.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,11 @@ Z13
118118
Z14
119119

120120
10.RISC-V 64:
121-
RISCV64_GENERIC
121+
RISCV64_GENERIC (e.g. PolarFire Soc/SiFive U54)
122+
RISCV64_ZVL128B
122123
C910V
124+
x280
125+
RISCV64_ZVL256B
123126

124127
11.LOONGARCH64:
125128
LOONGSONGENERIC

0 commit comments

Comments
 (0)