From ebb2a3d33d4536bcace34e9ba95198067ae19522 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 10 May 2025 18:25:23 -0400 Subject: Add type field to InstrDTO, required for next refactor --- src/instr.cc | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'src/instr.cc') diff --git a/src/instr.cc b/src/instr.cc index 0282be3..ee2d37f 100644 --- a/src/instr.cc +++ b/src/instr.cc @@ -38,18 +38,14 @@ const std::unordered_map mnemonic_map = { {0b0100110, POP}, {0b0101010, RET}, }; -bool is_vector_type(Mnemonic m) +FieldType get_field_types(Mnemonic m) { - return ( - m == ADDV || m == SUBV || m == MULV || m == DIVV || m == CEV || - m == LOADV || m == STOREV); + if (m == ADDV || m == SUBV || m == MULV || m == DIVV || m == CEV) { + return R_VECT; + } else if (m == STOREV || m == LOADV) { + return I_VECT; + } else { + return SI_INT; + } } - -bool is_logical_type(Mnemonic m) -{ - return ( - m == ANDI || m == ORI || m == XORI || m == AND || m == OR || m == XOR || - m == NOT); -} - } // namespace instr -- cgit v1.2.3