|
|
|
@ -11,12 +11,12 @@ |
|
|
|
|
|
|
|
namespace Common::X64 { |
|
|
|
|
|
|
|
constexpr std::size_t RegToIndex(const Xbyak::Reg& reg) { |
|
|
|
constexpr size_t RegToIndex(const Xbyak::Reg& reg) { |
|
|
|
using Kind = Xbyak::Reg::Kind; |
|
|
|
ASSERT_MSG((reg.getKind() & (Kind::REG | Kind::XMM)) != 0, |
|
|
|
"RegSet only support GPRs and XMM registers."); |
|
|
|
ASSERT_MSG(reg.getIdx() < 16, "RegSet only supports XXM0-15."); |
|
|
|
return reg.getIdx() + (reg.getKind() == Kind::REG ? 0 : 16); |
|
|
|
return static_cast<size_t>(reg.getIdx()) + (reg.getKind() == Kind::REG ? 0 : 16); |
|
|
|
} |
|
|
|
|
|
|
|
constexpr Xbyak::Reg64 IndexToReg64(std::size_t reg_index) { |
|
|
|
|