aboutsummaryrefslogtreecommitdiff
path: root/scripts/march-to-cpu-opt
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/march-to-cpu-opt')
-rwxr-xr-xscripts/march-to-cpu-opt12
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/march-to-cpu-opt b/scripts/march-to-cpu-opt
index 653dc49..bbf5978 100755
--- a/scripts/march-to-cpu-opt
+++ b/scripts/march-to-cpu-opt
@@ -147,9 +147,11 @@ def get_vlen(ext_dict):
vlen = max(vlen, zvelen)
return vlen
-def get_elen(ext_dict):
- elen = 32
+def get_elen(ext_dict, xlen):
+ elen = xlen
+ if "zve32x" in ext_dict or "zve32f" in ext_dict:
+ elen = 32
if "zve64x" in ext_dict or "zve64f" in ext_dict or "zve64d" in ext_dict:
elen = 64
@@ -263,10 +265,12 @@ def parse_elf_file(elf_file_path):
for extension in extension_dict.keys():
extensions.append(extension)
+ xlen = get_xlen(elf_file_path)
+
CPU_OPTIONS["extensions"] = extensions
CPU_OPTIONS["vlen"] = get_vlen(extension_dict)
- CPU_OPTIONS["elen"] = get_elen(extension_dict)
- CPU_OPTIONS["xlen"] = get_xlen(elf_file_path)
+ CPU_OPTIONS["elen"] = get_elen(extension_dict, xlen)
+ CPU_OPTIONS["xlen"] = xlen
def main(argv):
opt = parse_opt(argv)