From 9e56f69edf5e1755e04b1461272e3a08051d25a3 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Sun, 18 Dec 2022 13:33:15 +0100 Subject: [PATCH] isaspec: encode: handle special fieldname properties Without this change a fieldname like '{DST::align=12}' was not used for encoding. Change the regex to include such fieldnames and remove the fieldname property in a later step. Signed-off-by: Christian Gmeiner Reviewed-by: Rob Clark Part-of: --- src/compiler/isaspec/encode.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/isaspec/encode.py b/src/compiler/isaspec/encode.py index 8daa1ff9f5e..85de3b7a62c 100755 --- a/src/compiler/isaspec/encode.py +++ b/src/compiler/isaspec/encode.py @@ -133,9 +133,12 @@ class Case(object): self.expr = None if case.expr is not None: self.expr = isa.expressions[case.expr] - self.fieldnames = re.findall(r"{([a-zA-Z0-9_]+)}", case.display) + self.fieldnames = re.findall(r"{([a-zA-Z0-9_:]+)}", case.display) self.append_forced(bitset) + # remove special fieldname properties e.g. :align= + self.fieldnames = list(map(lambda name: name.split(':')[0], self.fieldnames)) + # Handle fields which don't appear in display template but have # force="true" def append_forced(self, bitset):