diff options
Diffstat (limited to '3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp')
-rw-r--r-- | 3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp b/3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp index 82f782e0fc6..2dfd25fc4a6 100644 --- a/3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp +++ b/3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp @@ -377,7 +377,7 @@ ASMJIT_FAVOR_SIZE Error InstInternal::validate(uint32_t arch, const BaseInst& in memSize <<= m.getBroadcast(); } - if (baseType) { + if (baseType != 0 && baseType > Label::kLabelTag) { uint32_t baseId = m.baseId(); if (m.isRegHome()) { @@ -412,6 +412,9 @@ ASMJIT_FAVOR_SIZE Error InstInternal::validate(uint32_t arch, const BaseInst& in if (!indexType && !m.offsetLo32()) memFlags |= InstDB::kMemOpBaseOnly; } + else if (baseType == Label::kLabelTag) { + // [Label] - there is no need to validate the base as it's label. + } else { // Base is a 64-bit address. int64_t offset = m.offset(); |