Skip to content

Commit a0632c2

Browse files
committed
scripts: llvm: Add RV32E multi-libs
This commit adds the following "common" RV32E multi-lib variants, based on the list of the GCC RV32E multi-libs (gcc/config/riscv/t-zephyr): rv32e_zicsr_zifencei/ilp32e rv32em_zicsr_zifencei/ilp32e rv32emc_zicsr_zifencei/ilp32e rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs/ilp32e rv32emc_zicsr/ilp32e rv32emc_zicsr_zba_zbb_zbc_zbs/ilp32e Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
1 parent 05d7f7e commit a0632c2

File tree

2 files changed

+105
-2
lines changed

2 files changed

+105
-2
lines changed

scripts/llvm/CMakeLists.txt

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1898,9 +1898,89 @@ add_library_variants_for_cpu(
18981898
)
18991899
## RV32E
19001900
add_library_variants_for_cpu(
1901-
rv32e_zicsr_zifencei
1901+
rv32e_zicsr_zifencei_ilp32e
19021902
COMPILE_FLAGS "-march=rv32e_zicsr_zifencei -mabi=ilp32e"
1903-
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf"
1903+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_zicsr2p0_zifencei2p0 -mabi=ilp32e"
1904+
PICOLIBC_BUILD_TYPE "release"
1905+
QEMU_MACHINE "none"
1906+
QEMU_CPU "rv32"
1907+
QEMU_PARAMS "-m 1G"
1908+
BOOT_FLASH_ADDRESS 0x00000000
1909+
BOOT_FLASH_SIZE 0x1000
1910+
FLASH_ADDRESS 0x20000000
1911+
FLASH_SIZE 0x1000000
1912+
RAM_ADDRESS 0x21000000
1913+
RAM_SIZE 0x1000000
1914+
STACK_SIZE 4K
1915+
)
1916+
add_library_variants_for_cpu(
1917+
rv32em_zicsr_zifencei_ilp32e
1918+
COMPILE_FLAGS "-march=rv32em_zicsr_zifencei -mabi=ilp32e"
1919+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_m2p0_zicsr2p0_zifencei2p0_zmmul1p0 -mabi=ilp32e"
1920+
PICOLIBC_BUILD_TYPE "release"
1921+
QEMU_MACHINE "none"
1922+
QEMU_CPU "rv32"
1923+
QEMU_PARAMS "-m 1G"
1924+
BOOT_FLASH_ADDRESS 0x00000000
1925+
BOOT_FLASH_SIZE 0x1000
1926+
FLASH_ADDRESS 0x20000000
1927+
FLASH_SIZE 0x1000000
1928+
RAM_ADDRESS 0x21000000
1929+
RAM_SIZE 0x1000000
1930+
STACK_SIZE 4K
1931+
)
1932+
add_library_variants_for_cpu(
1933+
rv32emc_zicsr_zifencei_ilp32e
1934+
COMPILE_FLAGS "-march=rv32emc_zicsr_zifencei -mabi=ilp32e"
1935+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_m2p0_c2p0_zicsr2p0_zifencei2p0_zmmul1p0 -mabi=ilp32e"
1936+
PICOLIBC_BUILD_TYPE "release"
1937+
QEMU_MACHINE "none"
1938+
QEMU_CPU "rv32"
1939+
QEMU_PARAMS "-m 1G"
1940+
BOOT_FLASH_ADDRESS 0x00000000
1941+
BOOT_FLASH_SIZE 0x1000
1942+
FLASH_ADDRESS 0x20000000
1943+
FLASH_SIZE 0x1000000
1944+
RAM_ADDRESS 0x21000000
1945+
RAM_SIZE 0x1000000
1946+
STACK_SIZE 4K
1947+
)
1948+
add_library_variants_for_cpu(
1949+
rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs_ilp32e
1950+
COMPILE_FLAGS "-march=rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs -mabi=ilp32e"
1951+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_m2p0_c2p0_zicsr2p0_zifencei2p0_zmmul1p0_zba1p0_zbb1p0_zbc1p0_zbs1p0 -mabi=ilp32e"
1952+
PICOLIBC_BUILD_TYPE "release"
1953+
QEMU_MACHINE "none"
1954+
QEMU_CPU "rv32"
1955+
QEMU_PARAMS "-m 1G"
1956+
BOOT_FLASH_ADDRESS 0x00000000
1957+
BOOT_FLASH_SIZE 0x1000
1958+
FLASH_ADDRESS 0x20000000
1959+
FLASH_SIZE 0x1000000
1960+
RAM_ADDRESS 0x21000000
1961+
RAM_SIZE 0x1000000
1962+
STACK_SIZE 4K
1963+
)
1964+
add_library_variants_for_cpu(
1965+
rv32emc_zicsr_ilp32e
1966+
COMPILE_FLAGS "-march=rv32emc_zicsr -mabi=ilp32e"
1967+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_m2p0_c2p0_zicsr2p0_zmmul1p0 -mabi=ilp32e"
1968+
PICOLIBC_BUILD_TYPE "release"
1969+
QEMU_MACHINE "none"
1970+
QEMU_CPU "rv32"
1971+
QEMU_PARAMS "-m 1G"
1972+
BOOT_FLASH_ADDRESS 0x00000000
1973+
BOOT_FLASH_SIZE 0x1000
1974+
FLASH_ADDRESS 0x20000000
1975+
FLASH_SIZE 0x1000000
1976+
RAM_ADDRESS 0x21000000
1977+
RAM_SIZE 0x1000000
1978+
STACK_SIZE 4K
1979+
)
1980+
add_library_variants_for_cpu(
1981+
rv32emc_zicsr_zba_zbb_zbc_zbs_ilp32e
1982+
COMPILE_FLAGS "-march=rv32emc_zicsr_zba_zbb_zbc_zbs -mabi=ilp32e"
1983+
MULTILIB_FLAGS "--target=riscv32-unknown-none-elf -march=rv32e2p0_m2p0_c2p0_zicsr2p0_zmmul1p0_zba1p0_zbb1p0_zbc1p0_zbs1p0 -mabi=ilp32e"
19041984
PICOLIBC_BUILD_TYPE "release"
19051985
QEMU_MACHINE "none"
19061986
QEMU_CPU "rv32"

scripts/llvm/test/multilib/rv32e.test

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32e_zicsr_zifencei -mabi=ilp32e | FileCheck %s --check-prefix=RV32E_ZICSR_ZIFENCEI_ILP32E
2+
# RV32E_ZICSR_ZIFENCEI_ILP32E: riscv32-none-elf/rv32e_zicsr_zifencei_ilp32e_exn_rtti{{$}}
3+
# RV32E_ZICSR_ZIFENCEI_ILP32E-EMPTY:
4+
5+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32em_zicsr_zifencei -mabi=ilp32e | FileCheck %s --check-prefix=RV32EM_ZICSR_ZIFENCEI_ILP32E
6+
# RV32EM_ZICSR_ZIFENCEI_ILP32E: riscv32-none-elf/rv32em_zicsr_zifencei_ilp32e_exn_rtti{{$}}
7+
# RV32EM_ZICSR_ZIFENCEI_ILP32E-EMPTY:
8+
9+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32emc_zicsr_zifencei -mabi=ilp32e | FileCheck %s --check-prefix=RV32EMC_ZICSR_ZIFENCEI_ILP32E
10+
# RV32EMC_ZICSR_ZIFENCEI_ILP32E: riscv32-none-elf/rv32emc_zicsr_zifencei_ilp32e_exn_rtti{{$}}
11+
# RV32EMC_ZICSR_ZIFENCEI_ILP32E-EMPTY:
12+
13+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs -mabi=ilp32e | FileCheck %s --check-prefix=RV32EMC_ZICSR_ZIFENCEI_ZBA_ZBB_ZBC_ZBS_ILP32E
14+
# RV32EMC_ZICSR_ZIFENCEI_ZBA_ZBB_ZBC_ZBS_ILP32E: riscv32-none-elf/rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs_ilp32e_exn_rtti{{$}}
15+
# RV32EMC_ZICSR_ZIFENCEI_ZBA_ZBB_ZBC_ZBS_ILP32E-EMPTY:
16+
17+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32emc_zicsr -mabi=ilp32e | FileCheck %s --check-prefix=RV32EMC_ZICSR_ILP32E
18+
# RV32EMC_ZICSR_ILP32E: riscv32-none-elf/rv32emc_zicsr_ilp32e_exn_rtti{{$}}
19+
# RV32EMC_ZICSR_ILP32E-EMPTY:
20+
21+
# RUN: %clang -print-multi-directory --target=riscv32-none-elf -march=rv32emc_zicsr_zba_zbb_zbc_zbs -mabi=ilp32e | FileCheck %s --check-prefix=RV32EMC_ZICSR_ZBA_ZBB_ZBC_ZBS_ILP32E
22+
# RV32EMC_ZICSR_ZBA_ZBB_ZBC_ZBS_ILP32E: riscv32-none-elf/rv32emc_zicsr_zba_zbb_zbc_zbs_ilp32e_exn_rtti{{$}}
23+
# RV32EMC_ZICSR_ZBA_ZBB_ZBC_ZBS_ILP32E-EMPTY:

0 commit comments

Comments
 (0)