moved get_full_instruction_name() from HardwareModel to DBInterface

This commit is contained in:
JanLJL
2024-05-02 16:25:41 +02:00
parent 78309574ac
commit 5da00d0ae6
4 changed files with 34 additions and 26 deletions

View File

@@ -146,6 +146,34 @@ class TestDBInterface(unittest.TestCase):
instr_3 = ["vfmadd132pd", (True, "")]
self.assertEqual(dbi._scrape_from_felixcloutier(instr_3[0]), instr_3[1])
def test_human_readable_instr_name(self):
instr_form_x86 = dict(
name="vaddpd",
operands=[
RegisterOperand(name="xmm"),
RegisterOperand(name="xmm"),
RegisterOperand(name="xmm"),
],
)
instr_form_arm = dict(
name="fadd",
operands=[
RegisterOperand(prefix="v", shape="s"),
RegisterOperand(prefix="v", shape="s"),
RegisterOperand(prefix="v", shape="s"),
],
)
# test full instruction name
self.assertEqual(
_get_full_instruction_name(instr_form_x86),
"vaddpd register(name:xmm),register(name:xmm),register(name:xmm)",
)
self.assertEqual(
_get_full_instruction_name(instr_form_arm),
"fadd register(prefix:v,shape:s),register(prefix:v,shape:s),"
+ "register(prefix:v,shape:s)",
)
##################
# Helper functions
##################