mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-01-15 08:23:17 -03:00
Merge pull request #14199 from JosJuice/jit64-rcoparg-isimm
Jit64: Return current value from RCOpArg::IsImm
This commit is contained in:
@@ -132,47 +132,6 @@ void RCOpArg::Unlock()
|
|||||||
contents = std::monostate{};
|
contents = std::monostate{};
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RCOpArg::IsImm() const
|
|
||||||
{
|
|
||||||
if (const preg_t* preg = std::get_if<preg_t>(&contents))
|
|
||||||
{
|
|
||||||
return rc->IsImm(*preg);
|
|
||||||
}
|
|
||||||
else if (std::holds_alternative<u32>(contents))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
s32 RCOpArg::SImm32() const
|
|
||||||
{
|
|
||||||
if (const preg_t* preg = std::get_if<preg_t>(&contents))
|
|
||||||
{
|
|
||||||
return rc->SImm32(*preg);
|
|
||||||
}
|
|
||||||
else if (const u32* imm = std::get_if<u32>(&contents))
|
|
||||||
{
|
|
||||||
return static_cast<s32>(*imm);
|
|
||||||
}
|
|
||||||
ASSERT(false);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 RCOpArg::Imm32() const
|
|
||||||
{
|
|
||||||
if (const preg_t* preg = std::get_if<preg_t>(&contents))
|
|
||||||
{
|
|
||||||
return rc->Imm32(*preg);
|
|
||||||
}
|
|
||||||
else if (const u32* imm = std::get_if<u32>(&contents))
|
|
||||||
{
|
|
||||||
return *imm;
|
|
||||||
}
|
|
||||||
ASSERT(false);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
RCX64Reg::RCX64Reg() = default;
|
RCX64Reg::RCX64Reg() = default;
|
||||||
|
|
||||||
RCX64Reg::RCX64Reg(RegCache* rc_, preg_t preg) : rc(rc_), contents(preg)
|
RCX64Reg::RCX64Reg(RegCache* rc_, preg_t preg) : rc(rc_), contents(preg)
|
||||||
|
|||||||
@@ -49,9 +49,9 @@ public:
|
|||||||
|
|
||||||
void Unlock();
|
void Unlock();
|
||||||
|
|
||||||
bool IsImm() const;
|
bool IsImm() const { return Location().IsImm(); }
|
||||||
s32 SImm32() const;
|
s32 SImm32() const { return Location().SImm32(); }
|
||||||
u32 Imm32() const;
|
u32 Imm32() const { return Location().Imm32(); }
|
||||||
bool IsZero() const { return IsImm() && Imm32() == 0; }
|
bool IsZero() const { return IsImm() && Imm32() == 0; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
Reference in New Issue
Block a user