cpu/uml.h: Make uml::instruction::is_param_out a member function and really fix build error

This commit is contained in:
AJR 2024-12-29 11:04:36 -05:00
parent f83b89cd74
commit 58c4e13490
2 changed files with 4 additions and 4 deletions

View File

@ -336,7 +336,7 @@ void drcbe_c::generate(drcuml_block &block, const instruction *instlist, uint32_
for (int pnum = 0; pnum < inst.numparams(); pnum++)
{
if (uml::instruction::is_param_out(inst.opcode(), pnum) && inst.param(pnum).is_int_register())
if (inst.is_param_out(pnum) && inst.param(pnum).is_int_register())
regclears++;
}
}
@ -479,7 +479,7 @@ void drcbe_c::generate(drcuml_block &block, const instruction *instlist, uint32_
{
for (int pnum = 0; pnum < inst.numparams(); pnum++)
{
if (uml::instruction::is_param_out(inst.opcode(), pnum) && inst.param(pnum).is_int_register() && ireg_needs_clearing[inst.param(pnum).ireg() - REG_I0])
if (inst.is_param_out(pnum) && inst.param(pnum).is_int_register() && ireg_needs_clearing[inst.param(pnum).ireg() - REG_I0])
{
immedwords = (8 + sizeof(drcbec_instruction) - 1) / sizeof(drcbec_instruction);
@ -501,7 +501,7 @@ void drcbe_c::generate(drcuml_block &block, const instruction *instlist, uint32_
{
for (int pnum = 0; pnum < inst.numparams(); pnum++)
{
if (uml::instruction::is_param_out(inst.opcode(), pnum) && inst.param(pnum).is_int_register())
if (inst.is_param_out(pnum) && inst.param(pnum).is_int_register())
{
ireg_needs_clearing[inst.param(pnum).ireg() - REG_I0] = true;
}

View File

@ -398,7 +398,7 @@ namespace uml
// construction/destruction
constexpr instruction() : m_param{ } { }
bool is_param_out(opcode_t opcode, int paramnum) const { assert(opcode < OP_MAX); assert(paramnum < m_numparams); return (s_opcode_info_table[opcode].param[paramnum].output & 0x02) != 0; }
bool is_param_out(int paramnum) const { assert(m_opcode < OP_MAX); assert(paramnum < m_numparams); return (s_opcode_info_table[m_opcode].param[paramnum].output & 0x02) != 0; }
// getters
constexpr opcode_t opcode() const { return m_opcode; }