From bd8477292cbc60f9f78504cd393224853997403a Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Wed, 1 Nov 2023 13:54:40 +0900 Subject: [PATCH] fix detection of adox without apx --- xbyak/xbyak.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h index ddfb4aec..0bb0893b 100644 --- a/xbyak/xbyak.h +++ b/xbyak/xbyak.h @@ -2855,10 +2855,10 @@ class CodeGenerator : public CodeArray { // (r, r, m) or (r, m, r) bool opROO(const Reg& d, const Operand& op1, const Operand& op2, int type, int code0, int code1 = NONE, int code2 = NONE, int immSize = 0) { -// if (type == 0 && !(d.hasRex2() || op1.hasRex2() || op2.hasRex2())) return false; + if (!d.isREG() && !(d.hasRex2() || op1.hasRex2() || op2.hasRex2())) return false; const Operand *p1 = &op1, *p2 = &op2; if (p1->isMEM()) { std::swap(p1, p2); } else { if (p2->isMEM()) code0 |= 2; } - if (p1->isMEM()) XBYAK_THROW(ERR_BAD_COMBINATION) + if (p1->isMEM()) XBYAK_THROW_RET(ERR_BAD_COMBINATION, false) if (p2->isMEM()) { const Reg& r = *static_cast(p1); const Address& addr = p2->getAddress();