Skip to content

Commit 1da2f12

Browse files
committed
RISC-V: Add bit manipulation extension multilibs
This commit adds the following multilibs that support the target configurations with the bit manipulation (Bitmanip) extension: * rv32im_zicsr_zifencei_zba_zbb_zbc_zbs * rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs * rv64im_zicsr_zifencei_zba_zbb_zbc_zbs * rv64imac_zicsr_zifencei_zba_zbb_zbc_zbs These multilibs are mapped to the other compatible target configurations to improve the configuration coverage. This commit also adds a new non-Bitmanip capable multilib for the `rv64im_zicsr_zifencei` in order to better align the coverage of the RV64I to that of the RV32I. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
1 parent 38d7128 commit 1da2f12

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

gcc/config/riscv/t-zephyr

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Multilib target configurations
22
MULTILIB_SRC_ARCH = rv32i_zicsr_zifencei
33
MULTILIB_SRC_ARCH += rv32im_zicsr_zifencei
4+
MULTILIB_SRC_ARCH += rv32im_zicsr_zifencei_zba_zbb_zbc_zbs
45
MULTILIB_SRC_ARCH += rv32ima_zicsr_zifencei
6+
MULTILIB_SRC_ARCH += rv32ima_zicsr_zifencei_zba_zbb_zbc_zbs
57
MULTILIB_SRC_ARCH += rv32imac_zicsr_zifencei
8+
MULTILIB_SRC_ARCH += rv32imac_zicsr_zifencei_zba_zbb_zbc_zbs
69
MULTILIB_SRC_ARCH += rv32imafc_zicsr_zifencei
710
MULTILIB_SRC_ARCH += rv32imafd_zicsr_zifencei
811
MULTILIB_SRC_ARCH += rv32imafdc_zicsr_zifencei
912
MULTILIB_SRC_ARCH += rv32imc_zicsr_zifencei
13+
MULTILIB_SRC_ARCH += rv32imc_zicsr_zifencei_zba_zbb_zbc_zbs
1014
MULTILIB_SRC_ARCH += rv32ia_zicsr_zifencei
1115
MULTILIB_SRC_ARCH += rv32iac_zicsr_zifencei
1216
MULTILIB_SRC_ARCH += rv32ic_zicsr_zifencei
@@ -16,17 +20,23 @@ MULTILIB_SRC_ARCH += rv32e_zicsr_zifencei
1620
MULTILIB_SRC_ARCH += rv32em_zicsr_zifencei
1721
MULTILIB_SRC_ARCH += rv32ema_zicsr_zifencei
1822
MULTILIB_SRC_ARCH += rv32emc_zicsr_zifencei
23+
MULTILIB_SRC_ARCH += rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs
1924
MULTILIB_SRC_ARCH += rv32emac_zicsr_zifencei
25+
MULTILIB_SRC_ARCH += rv32emac_zicsr_zifencei_zba_zbb_zbc_zbs
2026
MULTILIB_SRC_ARCH += rv32ea_zicsr_zifencei
2127
MULTILIB_SRC_ARCH += rv32eac_zicsr_zifencei
2228
MULTILIB_SRC_ARCH += rv32ec_zicsr_zifencei
2329
MULTILIB_SRC_ARCH += rv64i_zicsr_zifencei
2430
MULTILIB_SRC_ARCH += rv64im_zicsr_zifencei
31+
MULTILIB_SRC_ARCH += rv64im_zicsr_zifencei_zba_zbb_zbc_zbs
2532
MULTILIB_SRC_ARCH += rv64ima_zicsr_zifencei
33+
MULTILIB_SRC_ARCH += rv64ima_zicsr_zifencei_zba_zbb_zbc_zbs
2634
MULTILIB_SRC_ARCH += rv64imac_zicsr_zifencei
35+
MULTILIB_SRC_ARCH += rv64imac_zicsr_zifencei_zba_zbb_zbc_zbs
2736
MULTILIB_SRC_ARCH += rv64imafd_zicsr_zifencei
2837
MULTILIB_SRC_ARCH += rv64imafdc_zicsr_zifencei
2938
MULTILIB_SRC_ARCH += rv64imc_zicsr_zifencei
39+
MULTILIB_SRC_ARCH += rv64imc_zicsr_zifencei_zba_zbb_zbc_zbs
3040
MULTILIB_SRC_ARCH += rv64ia_zicsr_zifencei
3141
MULTILIB_SRC_ARCH += rv64iac_zicsr_zifencei
3242
MULTILIB_SRC_ARCH += rv64ic_zicsr_zifencei
@@ -46,14 +56,19 @@ MULTILIB_SRC_MCMODEL = medany
4656
MULTILIB_REQUIRED = \
4757
march=rv32i_zicsr_zifencei/mabi=ilp32 \
4858
march=rv32im_zicsr_zifencei/mabi=ilp32 \
59+
march=rv32im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=ilp32 \
4960
march=rv32imac_zicsr_zifencei/mabi=ilp32 \
5061
march=rv32imafc_zicsr_zifencei/mabi=ilp32f \
5162
march=rv32imafd_zicsr_zifencei/mabi=ilp32d \
5263
march=rv32e_zicsr_zifencei/mabi=ilp32e \
5364
march=rv32em_zicsr_zifencei/mabi=ilp32e \
5465
march=rv32emc_zicsr_zifencei/mabi=ilp32e \
66+
march=rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=ilp32e \
5567
march=rv64i_zicsr_zifencei/mabi=lp64 \
68+
march=rv64im_zicsr_zifencei/mabi=lp64 \
69+
march=rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64 \
5670
march=rv64imac_zicsr_zifencei/mabi=lp64 \
71+
march=rv64imac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi=lp64 \
5772
march=rv64imafdc_zicsr_zifencei/mabi=lp64d \
5873
march=rv64imafd_zicsr_zifencei/mabi=lp64d \
5974
march=rv64imac_zicsr_zifencei/mabi=lp64/mcmodel=medany \
@@ -67,6 +82,9 @@ march.rv32i_zicsr_zifencei/mabi.ilp32=march.rv32iac_zicsr_zifencei/mabi.ilp32 \
6782
march.rv32i_zicsr_zifencei/mabi.ilp32=march.rv32ic_zicsr_zifencei/mabi.ilp32 \
6883
march.rv32im_zicsr_zifencei/mabi.ilp32=march.rv32ima_zicsr_zifencei/mabi.ilp32 \
6984
march.rv32im_zicsr_zifencei/mabi.ilp32=march.rv32imc_zicsr_zifencei/mabi.ilp32 \
85+
march.rv32im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32=march.rv32ima_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32 \
86+
march.rv32im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32=march.rv32imac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32 \
87+
march.rv32im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32=march.rv32imc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32 \
7088
march.rv32imafd_zicsr_zifencei/mabi.ilp32d=march.rv32imafdc_zicsr_zifencei/mabi.ilp32d \
7189
march.rv32imafd_zicsr_zifencei/mabi.ilp32d=march.rv32g/mabi.ilp32d \
7290
march.rv32imafd_zicsr_zifencei/mabi.ilp32d=march.rv32gc/mabi.ilp32d \
@@ -75,12 +93,14 @@ march.rv32e_zicsr_zifencei/mabi.ilp32e=march.rv32eac_zicsr_zifencei/mabi.ilp32e
7593
march.rv32e_zicsr_zifencei/mabi.ilp32e=march.rv32ec_zicsr_zifencei/mabi.ilp32e \
7694
march.rv32em_zicsr_zifencei/mabi.ilp32e=march.rv32ema_zicsr_zifencei/mabi.ilp32e \
7795
march.rv32emc_zicsr_zifencei/mabi.ilp32e=march.rv32emac_zicsr_zifencei/mabi.ilp32e \
78-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64im_zicsr_zifencei/mabi.lp64 \
79-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64ima_zicsr_zifencei/mabi.lp64 \
80-
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64imc_zicsr_zifencei/mabi.lp64 \
96+
march.rv32emc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32e=march.rv32emac_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.ilp32e \
8197
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64ia_zicsr_zifencei/mabi.lp64 \
8298
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64iac_zicsr_zifencei/mabi.lp64 \
8399
march.rv64i_zicsr_zifencei/mabi.lp64=march.rv64ic_zicsr_zifencei/mabi.lp64 \
100+
march.rv64im_zicsr_zifencei/mabi.lp64=march.rv64ima_zicsr_zifencei/mabi.lp64 \
101+
march.rv64im_zicsr_zifencei/mabi.lp64=march.rv64imc_zicsr_zifencei/mabi.lp64 \
102+
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64=march.rv64ima_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64 \
103+
march.rv64im_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64=march.rv64imc_zicsr_zifencei_zba_zbb_zbc_zbs/mabi.lp64 \
84104
march.rv64imafdc_zicsr_zifencei/mabi.lp64d=march.rv64gc/mabi.lp64d \
85105
march.rv64imafd_zicsr_zifencei/mabi.lp64d=march.rv64g/mabi.lp64d
86106

0 commit comments

Comments
 (0)