summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asmjit/src/asmjit/x86.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asmjit/src/asmjit/x86.h')
-rw-r--r--3rdparty/asmjit/src/asmjit/x86.h101
1 files changed, 39 insertions, 62 deletions
diff --git a/3rdparty/asmjit/src/asmjit/x86.h b/3rdparty/asmjit/src/asmjit/x86.h
index 3c2224c966a..84bc84bb2d9 100644
--- a/3rdparty/asmjit/src/asmjit/x86.h
+++ b/3rdparty/asmjit/src/asmjit/x86.h
@@ -1,25 +1,7 @@
-// AsmJit - Machine code generation for C++
+// This file is part of AsmJit project <https://asmjit.com>
//
-// * Official AsmJit Home Page: https://asmjit.com
-// * Official Github Repository: https://github.com/asmjit/asmjit
-//
-// Copyright (c) 2008-2020 The AsmJit Authors
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
+// See asmjit.h or LICENSE.md for license and copyright information
+// SPDX-License-Identifier: Zlib
#ifndef ASMJIT_X86_H_INCLUDED
#define ASMJIT_X86_H_INCLUDED
@@ -40,14 +22,14 @@
//! ### Supported Instructions
//!
//! - Emitters:
-//! - \ref x86::EmitterExplicitT - Provides all instructions that use
-//! explicit operands, provides also utility functions. The member
-//! functions provided are part of all X86 emitters.
-//! - \ref x86::EmitterImplicitT - Provides all instructions that use
-//! implicit operands, these cannot be used with \ref x86::Compiler.
+//! - \ref x86::EmitterExplicitT - Provides all instructions that use explicit operands, provides also utility
+//! functions. The member functions provided are part of all X86 emitters.
+//! - \ref x86::EmitterImplicitT - Provides all instructions that use implicit operands, these cannot be used
+//! with \ref x86::Compiler.
+//!
//! - Instruction representation:
-//! - \ref x86::Inst::Id - instruction identifiers.
-//! - \ref x86::Inst::Options - instruction options.
+//! - \ref x86::Inst::Id - Provides instruction identifiers for both X86/X86_64 architectures.
+//! - \ref InstOptions - Provides generic and X86/X86_64 specific options.
//!
//! ### Register Operands
//!
@@ -73,44 +55,39 @@
//!
//! ### Memory Operands
//!
-//! - \ref x86::Mem - X86/X64 memory operand that provides support for all
-//! X86 and X64 addressing features, including absolute addresses, index
-//! scales, and segment override prefixes.
-//!
-//! ### Other
-//!
-//! - \ref x86::Features - X86/X64 CPU features on top of \ref BaseFeatures.
+//! - \ref x86::Mem - X86/X64 memory operand that provides support for all X86 and X64 addressing features
+//! including absolute addresses, index scales, and segment override prefixes.
//!
//! ### Status and Control Words
//!
-//! - \ref asmjit::x86::FpuWord::Status - FPU status word.
-//! - \ref asmjit::x86::FpuWord::Control - FPU control word.
-//!
-//! ### Predicates
-//!
-//! - \ref x86::Predicate - namespace that provides X86/X64 predicates.
-//! - \ref x86::Predicate::Cmp - `CMP[PD|PS|SD|SS]` predicate (SSE+).
-//! - \ref x86::Predicate::PCmpStr - `[V]PCMP[I|E]STR[I|M]` predicate (SSE4.1+).
-//! - \ref x86::Predicate::Round - `ROUND[PD|PS|SD|SS]` predicate (SSE+).
-//! - \ref x86::Predicate::VCmp - `VCMP[PD|PS|SD|SS]` predicate (AVX+).
-//! - \ref x86::Predicate::VFixupImm - `VFIXUPIMM[PD|PS|SD|SS]` predicate (AVX512+).
-//! - \ref x86::Predicate::VFPClass - `VFPCLASS[PD|PS|SD|SS]` predicate (AVX512+).
-//! - \ref x86::Predicate::VGetMant - `VGETMANT[PD|PS|SD|SS]` predicate (AVX512+).
-//! - \ref x86::Predicate::VPCmp - `VPCMP[U][B|W|D|Q]` predicate (AVX512+).
-//! - \ref x86::Predicate::VPCom - `VPCOM[U][B|W|D|Q]` predicate (XOP).
-//! - \ref x86::Predicate::VRange - `VRANGE[PD|PS|SD|SS]` predicate (AVX512+).
-//! - \ref x86::Predicate::VReduce - `REDUCE[PD|PS|SD|SS]` predicate (AVX512+).
-//! - \ref x86::TLog - namespace that provides `VPTERNLOG[D|Q]` predicate / operations.
+//! - \ref x86::FpuStatusWord - FPU status word bits / decomposition.
+//! - \ref x86::FpuControlWord - FPU control word bits / decomposition.
+//!
+//! ### Predicates (immediate values)
+//!
+//! - \ref x86::CmpImm - `CMP[PD|PS|SD|SS]` predicate (SSE+).
+//! - \ref x86::PCmpStrImm - `[V]PCMP[I|E]STR[I|M]` predicate (SSE4.1+, AVX+).
+//! - \ref x86::RoundImm - `[V]ROUND[PD|PS|SD|SS]` predicate (SSE+, AVX+).
+//! - \ref x86::VCmpImm - `VCMP[PD|PS|SD|SS]` predicate (AVX+).
+//! - \ref x86::VFixupImm - `VFIXUPIMM[PD|PS|SD|SS]` predicate (AVX512+).
+//! - \ref x86::VFPClassImm - `VFPCLASS[PD|PS|SD|SS]` predicate (AVX512+).
+//! - \ref x86::VGetMantImm - `VGETMANT[PD|PS|SD|SS]` predicate (AVX512+).
+//! - \ref x86::VPCmpImm - `VPCMP[U][B|W|D|Q]` predicate (AVX512+).
+//! - \ref x86::VPComImm - `VPCOM[U][B|W|D|Q]` predicate (XOP).
+//! - \ref x86::VRangeImm - `VRANGE[PD|PS|SD|SS]` predicate (AVX512+).
+//! - \ref x86::VReduceImm - `REDUCE[PD|PS|SD|SS]` predicate (AVX512+).
+//! - \ref x86::TLogImm - `VPTERNLOG[D|Q]` predicate and operations (AVX512+).
-#include "./core.h"
+#include "core.h"
-#include "./x86/x86assembler.h"
-#include "./x86/x86builder.h"
-#include "./x86/x86compiler.h"
-#include "./x86/x86emitter.h"
-#include "./x86/x86features.h"
-#include "./x86/x86globals.h"
-#include "./x86/x86instdb.h"
-#include "./x86/x86operand.h"
+#include "asmjit-scope-begin.h"
+#include "x86/x86assembler.h"
+#include "x86/x86builder.h"
+#include "x86/x86compiler.h"
+#include "x86/x86emitter.h"
+#include "x86/x86globals.h"
+#include "x86/x86instdb.h"
+#include "x86/x86operand.h"
+#include "asmjit-scope-end.h"
#endif // ASMJIT_X86_H_INCLUDED