Skip to content

Commit 49f238d

Browse files
authored
[RISCV] Add additional RISC-V 2-stage cross-compile and test under qemu-system configs (#479)
This adds: * rva23 with zvl512b * rva23 with zvl1024b * -mcpu=spacemit-x60 with -mrvv-vector-bits=zvl (this config also gives zvl256b coverage)
1 parent 57dfde1 commit 49f238d

File tree

3 files changed

+59
-2
lines changed

3 files changed

+59
-2
lines changed

buildbot/osuosl/master/config/builders.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3474,6 +3474,39 @@
34743474
script_interpreter=None,
34753475
clean=True)},
34763476

3477+
## RISC-V RVA23 profile with zvl512b check-all 2-stage
3478+
## (cross-compile and then test under qemu-system).
3479+
{'name' : "clang-riscv-rva23-zvl512b-2stage",
3480+
'workernames' : ["rise-worker-2"],
3481+
'builddir':"clang-riscv-rva23-zvl512b-2stage",
3482+
'factory' : AnnotatedBuilder.getAnnotatedBuildFactory(
3483+
script="rise-riscv-build.sh",
3484+
checkout_llvm_sources=False,
3485+
script_interpreter=None,
3486+
clean=True)},
3487+
3488+
## RISC-V RVA23 profile with zvl1024b check-all 2-stage
3489+
## (cross-compile and then test under qemu-system).
3490+
{'name' : "clang-riscv-rva23-zvl1024b-2stage",
3491+
'workernames' : ["rise-worker-3"],
3492+
'builddir':"clang-riscv-rva23-zvl1024b-2stage",
3493+
'factory' : AnnotatedBuilder.getAnnotatedBuildFactory(
3494+
script="rise-riscv-build.sh",
3495+
checkout_llvm_sources=False,
3496+
script_interpreter=None,
3497+
clean=True)},
3498+
3499+
## RISC-V -mcpu=spacemit-x60 with -mrvv-vector-bits=zvl check-all 2-stage
3500+
## (cross-compile and then test under qemu-system).
3501+
{'name' : "clang-riscv-x60-mrvv-vec-bits-2stage",
3502+
'workernames' : ["rise-worker-4"],
3503+
'builddir':"clang-riscv-x60-mrvv-vec-bits-2stage",
3504+
'factory' : AnnotatedBuilder.getAnnotatedBuildFactory(
3505+
script="rise-riscv-build.sh",
3506+
checkout_llvm_sources=False,
3507+
script_interpreter=None,
3508+
clean=True)},
3509+
34773510
# Builders similar to used in Buildkite premerge pipeline.
34783511
# Please keep in sync with llvm-project/.ci configurations.
34793512

buildbot/osuosl/master/config/workers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,9 @@ def get_all():
402402
create_worker("rise-clang-riscv-rva23-mrvv-vec-bits-2stage", properties={'jobs' : 16}, max_builds=1),
403403
create_worker("rise-clang-riscv-rva23-evl-vec-2stage", properties={'jobs' : 16}, max_builds=1),
404404
create_worker("rise-worker-1", properties={'jobs' : 32}, max_builds=1),
405+
create_worker("rise-worker-2", properties={'jobs' : 32}, max_builds=1),
406+
create_worker("rise-worker-3", properties={'jobs' : 32}, max_builds=1),
407+
create_worker("rise-worker-4", properties={'jobs' : 32}, max_builds=1),
405408

406409
# FIXME: A placeholder for annoying worker which nobody could stop.
407410
# adding it avoid logs spammed by failed authentication for that worker.

zorg/buildbot/builders/annotated/rise-riscv-build.sh

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,33 @@ case "$BUILDBOT_BUILDERNAME" in
3131
"clang-riscv-rva23-evl-vec-2stage")
3232
TARGET_CFLAGS="-march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue"
3333
export BB_IMG_DIR=$(pwd)/..
34-
# TODO: Switch to specifying rva23u64 once support is available in a
35-
# released QEMU.
34+
# TODO: Switch to specifying rva23u64 once qemu on the builder is
35+
# upgraded to a version that recognises it.
3636
export BB_QEMU_CPU="rv64,zba=true,zbb=true,zbc=false,zbs=true,zfhmin=true,v=true,vext_spec=v1.0,zkt=true,zvfhmin=true,zvbb=true,zvkt=true,zihintntl=true,zicond=true,zimop=true,zcmop=true,zcb=true,zfa=true,zawrs=true,rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true"
3737
export BB_QEMU_SMP=32
3838
export BB_QEMU_MEM="64G"
3939
;;
40+
"clang-riscv-rva23-zvl512b-2stage")
41+
TARGET_CFLAGS="-march=rva23u64_zvl512b"
42+
export BB_IMG_DIR=$(pwd)/..
43+
export BB_QEMU_CPU="rva23u64,vlen=512,rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true"
44+
export BB_QEMU_SMP=32
45+
export BB_QEMU_MEM="64G"
46+
;;
47+
"clang-riscv-rva23-zvl1024b-2stage")
48+
TARGET_CFLAGS="-march=rva23u64_zvl1024b"
49+
export BB_IMG_DIR=$(pwd)/..
50+
export BB_QEMU_CPU="rva23u64,vlen=1024,rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true"
51+
export BB_QEMU_SMP=32
52+
export BB_QEMU_MEM="64G"
53+
;;
54+
"clang-riscv-x60-mrvv-vec-bits-2stage")
55+
TARGET_CFLAGS="-mcpu=spacemit-x60 -mrvv-vector-bits=zvl"
56+
export BB_IMG_DIR=$(pwd)/..
57+
export BB_QEMU_CPU="rva22u64,v=true,zbc=true,zbkc=true,zfh=true,zicond=true,zvkt=true,vlen=256,rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true"
58+
export BB_QEMU_SMP=32
59+
export BB_QEMU_MEM="64G"
60+
;;
4061
*)
4162
echo "Unrecognised builder name"
4263
exit 1

0 commit comments

Comments
 (0)