From 7e837b7f53c0a22ad12144caeb6585622dbef876 Mon Sep 17 00:00:00 2001 From: Christian Herber Date: Mon, 11 Dec 2023 15:07:11 +0100 Subject: [PATCH] Adding support for Zilsd extension --- riscv_config/constants.py | 2 +- riscv_config/isa_validator.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/riscv_config/constants.py b/riscv_config/constants.py index 2913757..8e2b5f8 100644 --- a/riscv_config/constants.py +++ b/riscv_config/constants.py @@ -21,7 +21,7 @@ ] + Zvef_extensions + Zved_extensions Z_extensions = [ - "Zicbom", "Zicbop", "Zicboz", "Zicntr", "Zicsr", "Zicond", "Zicfilp", "Zicfiss", "Zifencei", "Zihintpause", "Zihpm", "Zimop", + "Zicbom", "Zicbop", "Zicboz", "Zicntr", "Zicsr", "Zicond", "Zicfilp", "Zicfiss", "Zifencei", "Zihintpause", "Zihpm", "Zilsd", "Zimop", "Zmmul", "Zam", "Zabha", "Zacas", "Zca", "Zcb", "Zcf", "Zcd" , "Zcmp", "Zcmt", "Zcmop", diff --git a/riscv_config/isa_validator.py b/riscv_config/isa_validator.py index 94f7412..27fd135 100644 --- a/riscv_config/isa_validator.py +++ b/riscv_config/isa_validator.py @@ -82,6 +82,9 @@ def get_extension_list(isa): if 'S' in extension_list and not 'U' in extension_list: err_list.append( "S cannot exist without U.") err = True + if 'Zilsd' in extension_list and 'Zcf' in extension_list: + err_list.append( "Zilsd includes compressed encodings that are mutually exclusive with Zcf.") + err = True if 'Zkn' in extension_list and ( set(['Zbkb', 'Zbkc', 'Zbkx', 'Zkne', 'Zknd', 'Zknh']) & set(extension_list)): err_list.append( "Zkn is a superset of Zbkb, Zbkc, Zbkx, Zkne, Zknd, Zknh. In presence of Zkn the subsets must be ignored in the ISA string.") err = True