mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
RISC-V: Fix parsing of Zic* extensions
The extension parsing table entries for a range of Zic* extensions does not match the mask definition in riscv.opt. This results in broken TARGET_ZIC* macros, because the values of riscv_zi_subext and riscv_zicmo_subext are set wrong. This patch fixes this by moving Zic64b into riscv_zicmo_subext and all other affected Zic* extensions to riscv_zi_subext. gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Move ziccamoa, ziccif, zicclsm, and ziccrse into riscv_zi_subext. * config/riscv/riscv.opt: Define MASK_ZIC64B for riscv_ziccmo_subext. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
This commit is contained in:
parent
11c13111ac
commit
285300eb92
@ -1638,15 +1638,15 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] =
|
||||
|
||||
{"zihintntl", &gcc_options::x_riscv_zi_subext, MASK_ZIHINTNTL},
|
||||
{"zihintpause", &gcc_options::x_riscv_zi_subext, MASK_ZIHINTPAUSE},
|
||||
{"ziccamoa", &gcc_options::x_riscv_zi_subext, MASK_ZICCAMOA},
|
||||
{"ziccif", &gcc_options::x_riscv_zi_subext, MASK_ZICCIF},
|
||||
{"zicclsm", &gcc_options::x_riscv_zi_subext, MASK_ZICCLSM},
|
||||
{"ziccrse", &gcc_options::x_riscv_zi_subext, MASK_ZICCRSE},
|
||||
|
||||
{"zicboz", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOZ},
|
||||
{"zicbom", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOM},
|
||||
{"zicbop", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOP},
|
||||
{"zic64b", &gcc_options::x_riscv_zicmo_subext, MASK_ZIC64B},
|
||||
{"ziccamoa", &gcc_options::x_riscv_zicmo_subext, MASK_ZICCAMOA},
|
||||
{"ziccif", &gcc_options::x_riscv_zicmo_subext, MASK_ZICCIF},
|
||||
{"zicclsm", &gcc_options::x_riscv_zicmo_subext, MASK_ZICCLSM},
|
||||
{"ziccrse", &gcc_options::x_riscv_zicmo_subext, MASK_ZICCRSE},
|
||||
|
||||
{"zve32x", &gcc_options::x_target_flags, MASK_VECTOR},
|
||||
{"zve32f", &gcc_options::x_target_flags, MASK_VECTOR},
|
||||
|
@ -237,8 +237,6 @@ Mask(ZIHINTPAUSE) Var(riscv_zi_subext)
|
||||
|
||||
Mask(ZICOND) Var(riscv_zi_subext)
|
||||
|
||||
Mask(ZIC64B) Var(riscv_zi_subext)
|
||||
|
||||
Mask(ZICCAMOA) Var(riscv_zi_subext)
|
||||
|
||||
Mask(ZICCIF) Var(riscv_zi_subext)
|
||||
@ -390,6 +388,8 @@ Mask(ZICBOM) Var(riscv_zicmo_subext)
|
||||
|
||||
Mask(ZICBOP) Var(riscv_zicmo_subext)
|
||||
|
||||
Mask(ZIC64B) Var(riscv_zicmo_subext)
|
||||
|
||||
TargetVariable
|
||||
int riscv_zf_subext
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user