diff --git a/src/backend_x64/hostloc.cpp b/src/backend_x64/hostloc.cpp index bc1683af..2093623a 100644 --- a/src/backend_x64/hostloc.cpp +++ b/src/backend_x64/hostloc.cpp @@ -11,8 +11,6 @@ namespace BackendX64 { Xbyak::Reg64 HostLocToReg64(HostLoc loc) { DEBUG_ASSERT(HostLocIsGPR(loc)); - DEBUG_ASSERT(loc != HostLoc::RSP); - DEBUG_ASSERT(loc != HostLoc::R15); return Xbyak::Reg64(static_cast(loc)); } diff --git a/src/backend_x64/reg_alloc.cpp b/src/backend_x64/reg_alloc.cpp index 9800e022..925ed136 100644 --- a/src/backend_x64/reg_alloc.cpp +++ b/src/backend_x64/reg_alloc.cpp @@ -34,6 +34,7 @@ static u32 ImmediateToU32(const IR::Value& imm) { static Xbyak::Reg HostLocToX64(HostLoc hostloc) { if (HostLocIsGPR(hostloc)) { + DEBUG_ASSERT(hostloc != HostLoc::RSP && hostloc != HostLoc::R15); return HostLocToReg64(hostloc); } if (HostLocIsXMM(hostloc)) { diff --git a/src/backend_x64/reg_alloc.h b/src/backend_x64/reg_alloc.h index 565465e6..bfaa412e 100644 --- a/src/backend_x64/reg_alloc.h +++ b/src/backend_x64/reg_alloc.h @@ -201,9 +201,11 @@ private: }; std::array hostloc_info; HostLocInfo& LocInfo(HostLoc loc) { + DEBUG_ASSERT(loc != HostLoc::RSP && loc != HostLoc::R15); return hostloc_info[static_cast(loc)]; } const HostLocInfo& LocInfo(HostLoc loc) const { + DEBUG_ASSERT(loc != HostLoc::RSP && loc != HostLoc::R15); return hostloc_info[static_cast(loc)]; } };