From c2d8742ac0740b71c73f7bca8a7b567f27c2ae72 Mon Sep 17 00:00:00 2001 From: JanLJL Date: Fri, 17 Jan 2020 12:21:46 +0100 Subject: [PATCH] allows aliasing in uarch DB via list-name --- osaca/semantics/hw_model.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/osaca/semantics/hw_model.py b/osaca/semantics/hw_model.py index 0db4c7d..f0b7e75 100755 --- a/osaca/semantics/hw_model.py +++ b/osaca/semantics/hw_model.py @@ -49,6 +49,17 @@ class MachineModel(object): with open(self._path, 'r') as f: if not lazy: self._data = yaml.load(f) + # separate multi-alias instruction forms + for entry in [ + x for x in self._data['instruction_forms'] if isinstance(x['name'], list) + ]: + for name in entry['name']: + new_entry = {'name': name} + for k in [x for x in entry.keys() if x != 'name']: + new_entry[k] = entry[k] + self._data['instruction_forms'].append(new_entry) + # remove old entry + self._data['instruction_forms'].remove(entry) else: file_content = '' line = f.readline()