mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-02 22:51:39 +00:00
45 lines
1 KiB
C++
45 lines
1 KiB
C++
// [AsmJit]
|
|
// Complete x86/x64 JIT and Remote Assembler for C++.
|
|
//
|
|
// [License]
|
|
// Zlib - See LICENSE.md file in the package.
|
|
|
|
// [Guard]
|
|
#ifndef _ASMJIT_X86_X86INSTIMPL_P_H
|
|
#define _ASMJIT_X86_X86INSTIMPL_P_H
|
|
|
|
// [Dependencies]
|
|
#include "../x86/x86inst.h"
|
|
|
|
// [Api-Begin]
|
|
#include "../asmjit_apibegin.h"
|
|
|
|
namespace asmjit {
|
|
|
|
//! \addtogroup asmjit_x86
|
|
//! \{
|
|
|
|
//! \internal
|
|
//!
|
|
//! Contains X86/X64 specific implementation of APIs provided by `asmjit::Inst`.
|
|
//!
|
|
//! The purpose of `X86InstImpl` is to move most of the logic out of `X86Inst`.
|
|
struct X86InstImpl {
|
|
#if !defined(ASMJIT_DISABLE_VALIDATION)
|
|
static Error validate(uint32_t archType, const Inst::Detail& detail, const Operand_* operands, uint32_t count) noexcept;
|
|
#endif
|
|
|
|
#if !defined(ASMJIT_DISABLE_EXTENSIONS)
|
|
static Error checkFeatures(uint32_t archType, const Inst::Detail& detail, const Operand_* operands, uint32_t count, CpuFeatures& out) noexcept;
|
|
#endif
|
|
};
|
|
|
|
//! \}
|
|
|
|
} // asmjit namespace
|
|
|
|
// [Api-End]
|
|
#include "../asmjit_apiend.h"
|
|
|
|
// [Guard]
|
|
#endif // _ASMJIT_X86_X86INSTIMPL_P_H
|