asmjit 0.2.0 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/Rakefile +5 -3
- data/asmjit.gemspec +1 -3
- data/ext/asmjit/asmjit/.editorconfig +10 -0
- data/ext/asmjit/asmjit/.github/FUNDING.yml +1 -0
- data/ext/asmjit/asmjit/.github/workflows/build-config.json +47 -0
- data/ext/asmjit/asmjit/.github/workflows/build.yml +156 -0
- data/ext/asmjit/asmjit/.gitignore +6 -0
- data/ext/asmjit/asmjit/CMakeLists.txt +611 -0
- data/ext/asmjit/asmjit/LICENSE.md +17 -0
- data/ext/asmjit/asmjit/README.md +69 -0
- data/ext/asmjit/asmjit/src/asmjit/a64.h +62 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64archtraits_p.h +81 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.cpp +5115 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.h +72 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.cpp +51 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.h +57 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.cpp +60 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.h +247 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper.cpp +464 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper_p.h +50 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emitter.h +1228 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter.cpp +298 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter_p.h +59 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64func.cpp +189 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64func_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64globals.h +1894 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi.cpp +278 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi_p.h +41 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.cpp +1957 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.h +74 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb_p.h +876 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.cpp +85 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.h +312 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass.cpp +852 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass_p.h +105 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64utils.h +179 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armformatter.cpp +143 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armformatter_p.h +44 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armglobals.h +21 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armoperand.h +621 -0
- data/ext/asmjit/asmjit/src/asmjit/arm.h +62 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-begin.h +17 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-end.h +9 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/core/api-build_p.h +55 -0
- data/ext/asmjit/asmjit/src/asmjit/core/api-config.h +613 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archcommons.h +229 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archtraits.cpp +160 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archtraits.h +290 -0
- data/ext/asmjit/asmjit/src/asmjit/core/assembler.cpp +406 -0
- data/ext/asmjit/asmjit/src/asmjit/core/assembler.h +129 -0
- data/ext/asmjit/asmjit/src/asmjit/core/builder.cpp +889 -0
- data/ext/asmjit/asmjit/src/asmjit/core/builder.h +1391 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codebuffer.h +113 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codeholder.cpp +1149 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codeholder.h +1035 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codewriter.cpp +175 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codewriter_p.h +179 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compiler.cpp +582 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compiler.h +737 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compilerdefs.h +173 -0
- data/ext/asmjit/asmjit/src/asmjit/core/constpool.cpp +363 -0
- data/ext/asmjit/asmjit/src/asmjit/core/constpool.h +250 -0
- data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.cpp +1162 -0
- data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.h +813 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emithelper.cpp +323 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emithelper_p.h +58 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitter.cpp +333 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitter.h +741 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitterutils.cpp +129 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitterutils_p.h +89 -0
- data/ext/asmjit/asmjit/src/asmjit/core/environment.cpp +46 -0
- data/ext/asmjit/asmjit/src/asmjit/core/environment.h +508 -0
- data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.cpp +14 -0
- data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.h +228 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter.cpp +584 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter.h +247 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter_p.h +34 -0
- data/ext/asmjit/asmjit/src/asmjit/core/func.cpp +286 -0
- data/ext/asmjit/asmjit/src/asmjit/core/func.h +1445 -0
- data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext.cpp +293 -0
- data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext_p.h +199 -0
- data/ext/asmjit/asmjit/src/asmjit/core/globals.cpp +133 -0
- data/ext/asmjit/asmjit/src/asmjit/core/globals.h +393 -0
- data/ext/asmjit/asmjit/src/asmjit/core/inst.cpp +113 -0
- data/ext/asmjit/asmjit/src/asmjit/core/inst.h +772 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.cpp +1242 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.h +261 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.cpp +80 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.h +89 -0
- data/ext/asmjit/asmjit/src/asmjit/core/logger.cpp +69 -0
- data/ext/asmjit/asmjit/src/asmjit/core/logger.h +198 -0
- data/ext/asmjit/asmjit/src/asmjit/core/misc_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/core/operand.cpp +132 -0
- data/ext/asmjit/asmjit/src/asmjit/core/operand.h +1611 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils.cpp +84 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils.h +61 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils_p.h +68 -0
- data/ext/asmjit/asmjit/src/asmjit/core/raassignment_p.h +418 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rabuilders_p.h +612 -0
- data/ext/asmjit/asmjit/src/asmjit/core/radefs_p.h +1204 -0
- data/ext/asmjit/asmjit/src/asmjit/core/ralocal.cpp +1166 -0
- data/ext/asmjit/asmjit/src/asmjit/core/ralocal_p.h +254 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rapass.cpp +1969 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rapass_p.h +1183 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rastack.cpp +184 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rastack_p.h +171 -0
- data/ext/asmjit/asmjit/src/asmjit/core/string.cpp +559 -0
- data/ext/asmjit/asmjit/src/asmjit/core/string.h +372 -0
- data/ext/asmjit/asmjit/src/asmjit/core/support.cpp +494 -0
- data/ext/asmjit/asmjit/src/asmjit/core/support.h +1773 -0
- data/ext/asmjit/asmjit/src/asmjit/core/target.cpp +14 -0
- data/ext/asmjit/asmjit/src/asmjit/core/target.h +53 -0
- data/ext/asmjit/asmjit/src/asmjit/core/type.cpp +74 -0
- data/ext/asmjit/asmjit/src/asmjit/core/type.h +419 -0
- data/ext/asmjit/asmjit/src/asmjit/core/virtmem.cpp +722 -0
- data/ext/asmjit/asmjit/src/asmjit/core/virtmem.h +242 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zone.cpp +353 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zone.h +615 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonehash.cpp +309 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonehash.h +186 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonelist.cpp +163 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonelist.h +209 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestack.cpp +176 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestack.h +239 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestring.h +120 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonetree.cpp +99 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonetree.h +380 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonevector.cpp +356 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonevector.h +690 -0
- data/ext/asmjit/asmjit/src/asmjit/core.h +1861 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86archtraits_p.h +148 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.cpp +5110 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.h +685 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.cpp +52 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.h +351 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.cpp +61 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.h +721 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper.cpp +619 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper_p.h +60 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emitter.h +4315 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter.cpp +944 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter_p.h +58 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86func.cpp +503 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86func_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86globals.h +2169 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi.cpp +1732 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi_p.h +41 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.cpp +4427 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.h +563 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb_p.h +311 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86opcode_p.h +436 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.cpp +231 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.h +1085 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass.cpp +1509 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass_p.h +94 -0
- data/ext/asmjit/asmjit/src/asmjit/x86.h +93 -0
- data/ext/asmjit/asmjit/src/asmjit.natvis +245 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler.cpp +84 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler.h +85 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_a64.cpp +4006 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_x64.cpp +17833 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_x86.cpp +8300 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler.cpp +253 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler.h +73 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler_a64.cpp +690 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler_x86.cpp +4317 -0
- data/ext/asmjit/asmjit/test/asmjit_test_emitters.cpp +197 -0
- data/ext/asmjit/asmjit/test/asmjit_test_instinfo.cpp +181 -0
- data/ext/asmjit/asmjit/test/asmjit_test_misc.h +257 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf.cpp +62 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf.h +61 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf_a64.cpp +699 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf_x86.cpp +5032 -0
- data/ext/asmjit/asmjit/test/asmjit_test_unit.cpp +172 -0
- data/ext/asmjit/asmjit/test/asmjit_test_x86_sections.cpp +172 -0
- data/ext/asmjit/asmjit/test/asmjitutils.h +38 -0
- data/ext/asmjit/asmjit/test/broken.cpp +312 -0
- data/ext/asmjit/asmjit/test/broken.h +148 -0
- data/ext/asmjit/asmjit/test/cmdline.h +61 -0
- data/ext/asmjit/asmjit/test/performancetimer.h +41 -0
- data/ext/asmjit/asmjit/tools/configure-makefiles.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-ninja.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-sanitizers.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-vs2019-x64.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2019-x86.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2022-x64.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2022-x86.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-xcode.sh +8 -0
- data/ext/asmjit/asmjit/tools/enumgen.js +417 -0
- data/ext/asmjit/asmjit/tools/enumgen.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen-arm.js +365 -0
- data/ext/asmjit/asmjit/tools/tablegen-arm.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen-x86.js +2638 -0
- data/ext/asmjit/asmjit/tools/tablegen-x86.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen.js +947 -0
- data/ext/asmjit/asmjit/tools/tablegen.sh +4 -0
- data/ext/asmjit/asmjit.cc +167 -30
- data/ext/asmjit/extconf.rb +9 -9
- data/lib/asmjit/version.rb +1 -1
- data/lib/asmjit.rb +14 -4
- metadata +198 -17
@@ -0,0 +1,2169 @@
|
|
1
|
+
// This file is part of AsmJit project <https://asmjit.com>
|
2
|
+
//
|
3
|
+
// See asmjit.h or LICENSE.md for license and copyright information
|
4
|
+
// SPDX-License-Identifier: Zlib
|
5
|
+
|
6
|
+
#ifndef ASMJIT_X86_X86GLOBALS_H_INCLUDED
|
7
|
+
#define ASMJIT_X86_X86GLOBALS_H_INCLUDED
|
8
|
+
|
9
|
+
#include "../core/archtraits.h"
|
10
|
+
#include "../core/inst.h"
|
11
|
+
|
12
|
+
//! \namespace asmjit::x86
|
13
|
+
//! \ingroup asmjit_x86
|
14
|
+
//!
|
15
|
+
//! X86/X64 API.
|
16
|
+
|
17
|
+
ASMJIT_BEGIN_SUB_NAMESPACE(x86)
|
18
|
+
|
19
|
+
//! \addtogroup asmjit_x86
|
20
|
+
//! \{
|
21
|
+
|
22
|
+
//! Condition code.
|
23
|
+
enum class CondCode : uint8_t {
|
24
|
+
kO = 0x00u, //!< OF==1
|
25
|
+
kNO = 0x01u, //!< OF==0
|
26
|
+
kC = 0x02u, //!< CF==1
|
27
|
+
kB = 0x02u, //!< CF==1 (unsigned < )
|
28
|
+
kNAE = 0x02u, //!< CF==1 (unsigned < )
|
29
|
+
kNC = 0x03u, //!< CF==0
|
30
|
+
kAE = 0x03u, //!< CF==0 (unsigned >=)
|
31
|
+
kNB = 0x03u, //!< CF==0 (unsigned >=)
|
32
|
+
kE = 0x04u, //!< ZF==1 (any_sign ==)
|
33
|
+
kZ = 0x04u, //!< ZF==1 (any_sign ==)
|
34
|
+
kNE = 0x05u, //!< ZF==0 (any_sign !=)
|
35
|
+
kNZ = 0x05u, //!< ZF==0 (any_sign !=)
|
36
|
+
kBE = 0x06u, //!< CF==1 | ZF==1 (unsigned <=)
|
37
|
+
kNA = 0x06u, //!< CF==1 | ZF==1 (unsigned <=)
|
38
|
+
kA = 0x07u, //!< CF==0 & ZF==0 (unsigned > )
|
39
|
+
kNBE = 0x07u, //!< CF==0 & ZF==0 (unsigned > )
|
40
|
+
kS = 0x08u, //!< SF==1 (is negative)
|
41
|
+
kNS = 0x09u, //!< SF==0 (is positive or zero)
|
42
|
+
kP = 0x0Au, //!< PF==1
|
43
|
+
kPE = 0x0Au, //!< PF==1
|
44
|
+
kPO = 0x0Bu, //!< PF==0
|
45
|
+
kNP = 0x0Bu, //!< PF==0
|
46
|
+
kL = 0x0Cu, //!< SF!=OF (signed < )
|
47
|
+
kNGE = 0x0Cu, //!< SF!=OF (signed < )
|
48
|
+
kGE = 0x0Du, //!< SF==OF (signed >=)
|
49
|
+
kNL = 0x0Du, //!< SF==OF (signed >=)
|
50
|
+
kLE = 0x0Eu, //!< ZF==1 | SF!=OF (signed <=)
|
51
|
+
kNG = 0x0Eu, //!< ZF==1 | SF!=OF (signed <=)
|
52
|
+
kG = 0x0Fu, //!< ZF==0 & SF==OF (signed > )
|
53
|
+
kNLE = 0x0Fu, //!< ZF==0 & SF==OF (signed > )
|
54
|
+
|
55
|
+
kZero = kZ, //!< Zero flag.
|
56
|
+
kNotZero = kNZ, //!< Non-zero flag.
|
57
|
+
|
58
|
+
kSign = kS, //!< Sign flag.
|
59
|
+
kNotSign = kNS, //!< No sign flag.
|
60
|
+
|
61
|
+
kNegative = kS, //!< Sign flag.
|
62
|
+
kPositive = kNS, //!< No sign flag.
|
63
|
+
|
64
|
+
kOverflow = kO, //!< Overflow (signed).
|
65
|
+
kNotOverflow = kNO, //!< Not overflow (signed).
|
66
|
+
|
67
|
+
kEqual = kE, //!< `a == b` (equal).
|
68
|
+
kNotEqual = kNE, //!< `a != b` (not equal).
|
69
|
+
|
70
|
+
kSignedLT = kL, //!< `a < b` (signed).
|
71
|
+
kSignedLE = kLE, //!< `a <= b` (signed).
|
72
|
+
kSignedGT = kG, //!< `a > b` (signed).
|
73
|
+
kSignedGE = kGE, //!< `a >= b` (signed).
|
74
|
+
|
75
|
+
kUnsignedLT = kB, //!< `a < b` (unsigned).
|
76
|
+
kUnsignedLE = kBE, //!< `a <= b` (unsigned).
|
77
|
+
kUnsignedGT = kA, //!< `a > b` (unsigned).
|
78
|
+
kUnsignedGE = kAE, //!< `a >= b` (unsigned).
|
79
|
+
|
80
|
+
kParityEven = kP, //!< Even parity flag.
|
81
|
+
kParityOdd = kPO, //!< Odd parity flag.
|
82
|
+
|
83
|
+
kMaxValue = 0x0Fu
|
84
|
+
};
|
85
|
+
|
86
|
+
//! \cond
|
87
|
+
static constexpr CondCode _reverseCondTable[] = {
|
88
|
+
CondCode::kO, // O <- O
|
89
|
+
CondCode::kNO, // NO <- NO
|
90
|
+
CondCode::kA , // A <- B
|
91
|
+
CondCode::kBE, // BE <- AE
|
92
|
+
CondCode::kE, // E <- E
|
93
|
+
CondCode::kNE, // NE <- NE
|
94
|
+
CondCode::kAE, // AE <- BE
|
95
|
+
CondCode::kB , // B <- A
|
96
|
+
CondCode::kS, // S <- S
|
97
|
+
CondCode::kNS, // NS <- NS
|
98
|
+
CondCode::kPE, // PE <- PE
|
99
|
+
CondCode::kPO, // PO <- PO
|
100
|
+
CondCode::kG, // G <- L
|
101
|
+
CondCode::kLE, // LE <- GE
|
102
|
+
CondCode::kGE, // GE <- LE
|
103
|
+
CondCode::kL // L <- G
|
104
|
+
};
|
105
|
+
//! \endcond
|
106
|
+
|
107
|
+
//! Reverses a condition code (reverses the corresponding operands of a comparison).
|
108
|
+
static inline constexpr CondCode reverseCond(CondCode cond) noexcept { return _reverseCondTable[uint8_t(cond)]; }
|
109
|
+
//! Negates a condition code.
|
110
|
+
static inline constexpr CondCode negateCond(CondCode cond) noexcept { return CondCode(uint8_t(cond) ^ 1u); }
|
111
|
+
|
112
|
+
//! Instruction.
|
113
|
+
//!
|
114
|
+
//! \note Only used to hold x86-specific instruction identifiers and some additional helper functions.
|
115
|
+
namespace Inst {
|
116
|
+
//! Instruction id.
|
117
|
+
enum Id : uint32_t {
|
118
|
+
// ${InstId:Begin}
|
119
|
+
kIdNone = 0, //!< Invalid instruction id.
|
120
|
+
kIdAaa, //!< Instruction 'aaa' (X86).
|
121
|
+
kIdAad, //!< Instruction 'aad' (X86).
|
122
|
+
kIdAam, //!< Instruction 'aam' (X86).
|
123
|
+
kIdAas, //!< Instruction 'aas' (X86).
|
124
|
+
kIdAdc, //!< Instruction 'adc'.
|
125
|
+
kIdAdcx, //!< Instruction 'adcx' {ADX}.
|
126
|
+
kIdAdd, //!< Instruction 'add'.
|
127
|
+
kIdAddpd, //!< Instruction 'addpd' {SSE2}.
|
128
|
+
kIdAddps, //!< Instruction 'addps' {SSE}.
|
129
|
+
kIdAddsd, //!< Instruction 'addsd' {SSE2}.
|
130
|
+
kIdAddss, //!< Instruction 'addss' {SSE}.
|
131
|
+
kIdAddsubpd, //!< Instruction 'addsubpd' {SSE3}.
|
132
|
+
kIdAddsubps, //!< Instruction 'addsubps' {SSE3}.
|
133
|
+
kIdAdox, //!< Instruction 'adox' {ADX}.
|
134
|
+
kIdAesdec, //!< Instruction 'aesdec' {AESNI}.
|
135
|
+
kIdAesdeclast, //!< Instruction 'aesdeclast' {AESNI}.
|
136
|
+
kIdAesenc, //!< Instruction 'aesenc' {AESNI}.
|
137
|
+
kIdAesenclast, //!< Instruction 'aesenclast' {AESNI}.
|
138
|
+
kIdAesimc, //!< Instruction 'aesimc' {AESNI}.
|
139
|
+
kIdAeskeygenassist, //!< Instruction 'aeskeygenassist' {AESNI}.
|
140
|
+
kIdAnd, //!< Instruction 'and'.
|
141
|
+
kIdAndn, //!< Instruction 'andn' {BMI}.
|
142
|
+
kIdAndnpd, //!< Instruction 'andnpd' {SSE2}.
|
143
|
+
kIdAndnps, //!< Instruction 'andnps' {SSE}.
|
144
|
+
kIdAndpd, //!< Instruction 'andpd' {SSE2}.
|
145
|
+
kIdAndps, //!< Instruction 'andps' {SSE}.
|
146
|
+
kIdArpl, //!< Instruction 'arpl' (X86).
|
147
|
+
kIdBextr, //!< Instruction 'bextr' {BMI}.
|
148
|
+
kIdBlcfill, //!< Instruction 'blcfill' {TBM}.
|
149
|
+
kIdBlci, //!< Instruction 'blci' {TBM}.
|
150
|
+
kIdBlcic, //!< Instruction 'blcic' {TBM}.
|
151
|
+
kIdBlcmsk, //!< Instruction 'blcmsk' {TBM}.
|
152
|
+
kIdBlcs, //!< Instruction 'blcs' {TBM}.
|
153
|
+
kIdBlendpd, //!< Instruction 'blendpd' {SSE4_1}.
|
154
|
+
kIdBlendps, //!< Instruction 'blendps' {SSE4_1}.
|
155
|
+
kIdBlendvpd, //!< Instruction 'blendvpd' {SSE4_1}.
|
156
|
+
kIdBlendvps, //!< Instruction 'blendvps' {SSE4_1}.
|
157
|
+
kIdBlsfill, //!< Instruction 'blsfill' {TBM}.
|
158
|
+
kIdBlsi, //!< Instruction 'blsi' {BMI}.
|
159
|
+
kIdBlsic, //!< Instruction 'blsic' {TBM}.
|
160
|
+
kIdBlsmsk, //!< Instruction 'blsmsk' {BMI}.
|
161
|
+
kIdBlsr, //!< Instruction 'blsr' {BMI}.
|
162
|
+
kIdBndcl, //!< Instruction 'bndcl' {MPX}.
|
163
|
+
kIdBndcn, //!< Instruction 'bndcn' {MPX}.
|
164
|
+
kIdBndcu, //!< Instruction 'bndcu' {MPX}.
|
165
|
+
kIdBndldx, //!< Instruction 'bndldx' {MPX}.
|
166
|
+
kIdBndmk, //!< Instruction 'bndmk' {MPX}.
|
167
|
+
kIdBndmov, //!< Instruction 'bndmov' {MPX}.
|
168
|
+
kIdBndstx, //!< Instruction 'bndstx' {MPX}.
|
169
|
+
kIdBound, //!< Instruction 'bound' (X86).
|
170
|
+
kIdBsf, //!< Instruction 'bsf'.
|
171
|
+
kIdBsr, //!< Instruction 'bsr'.
|
172
|
+
kIdBswap, //!< Instruction 'bswap'.
|
173
|
+
kIdBt, //!< Instruction 'bt'.
|
174
|
+
kIdBtc, //!< Instruction 'btc'.
|
175
|
+
kIdBtr, //!< Instruction 'btr'.
|
176
|
+
kIdBts, //!< Instruction 'bts'.
|
177
|
+
kIdBzhi, //!< Instruction 'bzhi' {BMI2}.
|
178
|
+
kIdCall, //!< Instruction 'call'.
|
179
|
+
kIdCbw, //!< Instruction 'cbw'.
|
180
|
+
kIdCdq, //!< Instruction 'cdq'.
|
181
|
+
kIdCdqe, //!< Instruction 'cdqe' (X64).
|
182
|
+
kIdClac, //!< Instruction 'clac' {SMAP}.
|
183
|
+
kIdClc, //!< Instruction 'clc'.
|
184
|
+
kIdCld, //!< Instruction 'cld'.
|
185
|
+
kIdCldemote, //!< Instruction 'cldemote' {CLDEMOTE}.
|
186
|
+
kIdClflush, //!< Instruction 'clflush' {CLFLUSH}.
|
187
|
+
kIdClflushopt, //!< Instruction 'clflushopt' {CLFLUSHOPT}.
|
188
|
+
kIdClgi, //!< Instruction 'clgi' {SVM}.
|
189
|
+
kIdCli, //!< Instruction 'cli'.
|
190
|
+
kIdClrssbsy, //!< Instruction 'clrssbsy' {CET_SS}.
|
191
|
+
kIdClts, //!< Instruction 'clts'.
|
192
|
+
kIdClui, //!< Instruction 'clui' {UINTR} (X64).
|
193
|
+
kIdClwb, //!< Instruction 'clwb' {CLWB}.
|
194
|
+
kIdClzero, //!< Instruction 'clzero' {CLZERO}.
|
195
|
+
kIdCmc, //!< Instruction 'cmc'.
|
196
|
+
kIdCmova, //!< Instruction 'cmova' {CMOV}.
|
197
|
+
kIdCmovae, //!< Instruction 'cmovae' {CMOV}.
|
198
|
+
kIdCmovb, //!< Instruction 'cmovb' {CMOV}.
|
199
|
+
kIdCmovbe, //!< Instruction 'cmovbe' {CMOV}.
|
200
|
+
kIdCmovc, //!< Instruction 'cmovc' {CMOV}.
|
201
|
+
kIdCmove, //!< Instruction 'cmove' {CMOV}.
|
202
|
+
kIdCmovg, //!< Instruction 'cmovg' {CMOV}.
|
203
|
+
kIdCmovge, //!< Instruction 'cmovge' {CMOV}.
|
204
|
+
kIdCmovl, //!< Instruction 'cmovl' {CMOV}.
|
205
|
+
kIdCmovle, //!< Instruction 'cmovle' {CMOV}.
|
206
|
+
kIdCmovna, //!< Instruction 'cmovna' {CMOV}.
|
207
|
+
kIdCmovnae, //!< Instruction 'cmovnae' {CMOV}.
|
208
|
+
kIdCmovnb, //!< Instruction 'cmovnb' {CMOV}.
|
209
|
+
kIdCmovnbe, //!< Instruction 'cmovnbe' {CMOV}.
|
210
|
+
kIdCmovnc, //!< Instruction 'cmovnc' {CMOV}.
|
211
|
+
kIdCmovne, //!< Instruction 'cmovne' {CMOV}.
|
212
|
+
kIdCmovng, //!< Instruction 'cmovng' {CMOV}.
|
213
|
+
kIdCmovnge, //!< Instruction 'cmovnge' {CMOV}.
|
214
|
+
kIdCmovnl, //!< Instruction 'cmovnl' {CMOV}.
|
215
|
+
kIdCmovnle, //!< Instruction 'cmovnle' {CMOV}.
|
216
|
+
kIdCmovno, //!< Instruction 'cmovno' {CMOV}.
|
217
|
+
kIdCmovnp, //!< Instruction 'cmovnp' {CMOV}.
|
218
|
+
kIdCmovns, //!< Instruction 'cmovns' {CMOV}.
|
219
|
+
kIdCmovnz, //!< Instruction 'cmovnz' {CMOV}.
|
220
|
+
kIdCmovo, //!< Instruction 'cmovo' {CMOV}.
|
221
|
+
kIdCmovp, //!< Instruction 'cmovp' {CMOV}.
|
222
|
+
kIdCmovpe, //!< Instruction 'cmovpe' {CMOV}.
|
223
|
+
kIdCmovpo, //!< Instruction 'cmovpo' {CMOV}.
|
224
|
+
kIdCmovs, //!< Instruction 'cmovs' {CMOV}.
|
225
|
+
kIdCmovz, //!< Instruction 'cmovz' {CMOV}.
|
226
|
+
kIdCmp, //!< Instruction 'cmp'.
|
227
|
+
kIdCmppd, //!< Instruction 'cmppd' {SSE2}.
|
228
|
+
kIdCmpps, //!< Instruction 'cmpps' {SSE}.
|
229
|
+
kIdCmps, //!< Instruction 'cmps'.
|
230
|
+
kIdCmpsd, //!< Instruction 'cmpsd' {SSE2}.
|
231
|
+
kIdCmpss, //!< Instruction 'cmpss' {SSE}.
|
232
|
+
kIdCmpxchg, //!< Instruction 'cmpxchg' {I486}.
|
233
|
+
kIdCmpxchg16b, //!< Instruction 'cmpxchg16b' {CMPXCHG16B} (X64).
|
234
|
+
kIdCmpxchg8b, //!< Instruction 'cmpxchg8b' {CMPXCHG8B}.
|
235
|
+
kIdComisd, //!< Instruction 'comisd' {SSE2}.
|
236
|
+
kIdComiss, //!< Instruction 'comiss' {SSE}.
|
237
|
+
kIdCpuid, //!< Instruction 'cpuid' {I486}.
|
238
|
+
kIdCqo, //!< Instruction 'cqo' (X64).
|
239
|
+
kIdCrc32, //!< Instruction 'crc32' {SSE4_2}.
|
240
|
+
kIdCvtdq2pd, //!< Instruction 'cvtdq2pd' {SSE2}.
|
241
|
+
kIdCvtdq2ps, //!< Instruction 'cvtdq2ps' {SSE2}.
|
242
|
+
kIdCvtpd2dq, //!< Instruction 'cvtpd2dq' {SSE2}.
|
243
|
+
kIdCvtpd2pi, //!< Instruction 'cvtpd2pi' {SSE2}.
|
244
|
+
kIdCvtpd2ps, //!< Instruction 'cvtpd2ps' {SSE2}.
|
245
|
+
kIdCvtpi2pd, //!< Instruction 'cvtpi2pd' {SSE2}.
|
246
|
+
kIdCvtpi2ps, //!< Instruction 'cvtpi2ps' {SSE}.
|
247
|
+
kIdCvtps2dq, //!< Instruction 'cvtps2dq' {SSE2}.
|
248
|
+
kIdCvtps2pd, //!< Instruction 'cvtps2pd' {SSE2}.
|
249
|
+
kIdCvtps2pi, //!< Instruction 'cvtps2pi' {SSE}.
|
250
|
+
kIdCvtsd2si, //!< Instruction 'cvtsd2si' {SSE2}.
|
251
|
+
kIdCvtsd2ss, //!< Instruction 'cvtsd2ss' {SSE2}.
|
252
|
+
kIdCvtsi2sd, //!< Instruction 'cvtsi2sd' {SSE2}.
|
253
|
+
kIdCvtsi2ss, //!< Instruction 'cvtsi2ss' {SSE}.
|
254
|
+
kIdCvtss2sd, //!< Instruction 'cvtss2sd' {SSE2}.
|
255
|
+
kIdCvtss2si, //!< Instruction 'cvtss2si' {SSE}.
|
256
|
+
kIdCvttpd2dq, //!< Instruction 'cvttpd2dq' {SSE2}.
|
257
|
+
kIdCvttpd2pi, //!< Instruction 'cvttpd2pi' {SSE2}.
|
258
|
+
kIdCvttps2dq, //!< Instruction 'cvttps2dq' {SSE2}.
|
259
|
+
kIdCvttps2pi, //!< Instruction 'cvttps2pi' {SSE}.
|
260
|
+
kIdCvttsd2si, //!< Instruction 'cvttsd2si' {SSE2}.
|
261
|
+
kIdCvttss2si, //!< Instruction 'cvttss2si' {SSE}.
|
262
|
+
kIdCwd, //!< Instruction 'cwd'.
|
263
|
+
kIdCwde, //!< Instruction 'cwde'.
|
264
|
+
kIdDaa, //!< Instruction 'daa' (X86).
|
265
|
+
kIdDas, //!< Instruction 'das' (X86).
|
266
|
+
kIdDec, //!< Instruction 'dec'.
|
267
|
+
kIdDiv, //!< Instruction 'div'.
|
268
|
+
kIdDivpd, //!< Instruction 'divpd' {SSE2}.
|
269
|
+
kIdDivps, //!< Instruction 'divps' {SSE}.
|
270
|
+
kIdDivsd, //!< Instruction 'divsd' {SSE2}.
|
271
|
+
kIdDivss, //!< Instruction 'divss' {SSE}.
|
272
|
+
kIdDppd, //!< Instruction 'dppd' {SSE4_1}.
|
273
|
+
kIdDpps, //!< Instruction 'dpps' {SSE4_1}.
|
274
|
+
kIdEmms, //!< Instruction 'emms' {MMX}.
|
275
|
+
kIdEndbr32, //!< Instruction 'endbr32' {CET_IBT}.
|
276
|
+
kIdEndbr64, //!< Instruction 'endbr64' {CET_IBT}.
|
277
|
+
kIdEnqcmd, //!< Instruction 'enqcmd' {ENQCMD}.
|
278
|
+
kIdEnqcmds, //!< Instruction 'enqcmds' {ENQCMD}.
|
279
|
+
kIdEnter, //!< Instruction 'enter'.
|
280
|
+
kIdExtractps, //!< Instruction 'extractps' {SSE4_1}.
|
281
|
+
kIdExtrq, //!< Instruction 'extrq' {SSE4A}.
|
282
|
+
kIdF2xm1, //!< Instruction 'f2xm1'.
|
283
|
+
kIdFabs, //!< Instruction 'fabs'.
|
284
|
+
kIdFadd, //!< Instruction 'fadd'.
|
285
|
+
kIdFaddp, //!< Instruction 'faddp'.
|
286
|
+
kIdFbld, //!< Instruction 'fbld'.
|
287
|
+
kIdFbstp, //!< Instruction 'fbstp'.
|
288
|
+
kIdFchs, //!< Instruction 'fchs'.
|
289
|
+
kIdFclex, //!< Instruction 'fclex'.
|
290
|
+
kIdFcmovb, //!< Instruction 'fcmovb' {CMOV}.
|
291
|
+
kIdFcmovbe, //!< Instruction 'fcmovbe' {CMOV}.
|
292
|
+
kIdFcmove, //!< Instruction 'fcmove' {CMOV}.
|
293
|
+
kIdFcmovnb, //!< Instruction 'fcmovnb' {CMOV}.
|
294
|
+
kIdFcmovnbe, //!< Instruction 'fcmovnbe' {CMOV}.
|
295
|
+
kIdFcmovne, //!< Instruction 'fcmovne' {CMOV}.
|
296
|
+
kIdFcmovnu, //!< Instruction 'fcmovnu' {CMOV}.
|
297
|
+
kIdFcmovu, //!< Instruction 'fcmovu' {CMOV}.
|
298
|
+
kIdFcom, //!< Instruction 'fcom'.
|
299
|
+
kIdFcomi, //!< Instruction 'fcomi'.
|
300
|
+
kIdFcomip, //!< Instruction 'fcomip'.
|
301
|
+
kIdFcomp, //!< Instruction 'fcomp'.
|
302
|
+
kIdFcompp, //!< Instruction 'fcompp'.
|
303
|
+
kIdFcos, //!< Instruction 'fcos'.
|
304
|
+
kIdFdecstp, //!< Instruction 'fdecstp'.
|
305
|
+
kIdFdiv, //!< Instruction 'fdiv'.
|
306
|
+
kIdFdivp, //!< Instruction 'fdivp'.
|
307
|
+
kIdFdivr, //!< Instruction 'fdivr'.
|
308
|
+
kIdFdivrp, //!< Instruction 'fdivrp'.
|
309
|
+
kIdFemms, //!< Instruction 'femms' {3DNOW}.
|
310
|
+
kIdFfree, //!< Instruction 'ffree'.
|
311
|
+
kIdFiadd, //!< Instruction 'fiadd'.
|
312
|
+
kIdFicom, //!< Instruction 'ficom'.
|
313
|
+
kIdFicomp, //!< Instruction 'ficomp'.
|
314
|
+
kIdFidiv, //!< Instruction 'fidiv'.
|
315
|
+
kIdFidivr, //!< Instruction 'fidivr'.
|
316
|
+
kIdFild, //!< Instruction 'fild'.
|
317
|
+
kIdFimul, //!< Instruction 'fimul'.
|
318
|
+
kIdFincstp, //!< Instruction 'fincstp'.
|
319
|
+
kIdFinit, //!< Instruction 'finit'.
|
320
|
+
kIdFist, //!< Instruction 'fist'.
|
321
|
+
kIdFistp, //!< Instruction 'fistp'.
|
322
|
+
kIdFisttp, //!< Instruction 'fisttp' {SSE3}.
|
323
|
+
kIdFisub, //!< Instruction 'fisub'.
|
324
|
+
kIdFisubr, //!< Instruction 'fisubr'.
|
325
|
+
kIdFld, //!< Instruction 'fld'.
|
326
|
+
kIdFld1, //!< Instruction 'fld1'.
|
327
|
+
kIdFldcw, //!< Instruction 'fldcw'.
|
328
|
+
kIdFldenv, //!< Instruction 'fldenv'.
|
329
|
+
kIdFldl2e, //!< Instruction 'fldl2e'.
|
330
|
+
kIdFldl2t, //!< Instruction 'fldl2t'.
|
331
|
+
kIdFldlg2, //!< Instruction 'fldlg2'.
|
332
|
+
kIdFldln2, //!< Instruction 'fldln2'.
|
333
|
+
kIdFldpi, //!< Instruction 'fldpi'.
|
334
|
+
kIdFldz, //!< Instruction 'fldz'.
|
335
|
+
kIdFmul, //!< Instruction 'fmul'.
|
336
|
+
kIdFmulp, //!< Instruction 'fmulp'.
|
337
|
+
kIdFnclex, //!< Instruction 'fnclex'.
|
338
|
+
kIdFninit, //!< Instruction 'fninit'.
|
339
|
+
kIdFnop, //!< Instruction 'fnop'.
|
340
|
+
kIdFnsave, //!< Instruction 'fnsave'.
|
341
|
+
kIdFnstcw, //!< Instruction 'fnstcw'.
|
342
|
+
kIdFnstenv, //!< Instruction 'fnstenv'.
|
343
|
+
kIdFnstsw, //!< Instruction 'fnstsw'.
|
344
|
+
kIdFpatan, //!< Instruction 'fpatan'.
|
345
|
+
kIdFprem, //!< Instruction 'fprem'.
|
346
|
+
kIdFprem1, //!< Instruction 'fprem1'.
|
347
|
+
kIdFptan, //!< Instruction 'fptan'.
|
348
|
+
kIdFrndint, //!< Instruction 'frndint'.
|
349
|
+
kIdFrstor, //!< Instruction 'frstor'.
|
350
|
+
kIdFsave, //!< Instruction 'fsave'.
|
351
|
+
kIdFscale, //!< Instruction 'fscale'.
|
352
|
+
kIdFsin, //!< Instruction 'fsin'.
|
353
|
+
kIdFsincos, //!< Instruction 'fsincos'.
|
354
|
+
kIdFsqrt, //!< Instruction 'fsqrt'.
|
355
|
+
kIdFst, //!< Instruction 'fst'.
|
356
|
+
kIdFstcw, //!< Instruction 'fstcw'.
|
357
|
+
kIdFstenv, //!< Instruction 'fstenv'.
|
358
|
+
kIdFstp, //!< Instruction 'fstp'.
|
359
|
+
kIdFstsw, //!< Instruction 'fstsw'.
|
360
|
+
kIdFsub, //!< Instruction 'fsub'.
|
361
|
+
kIdFsubp, //!< Instruction 'fsubp'.
|
362
|
+
kIdFsubr, //!< Instruction 'fsubr'.
|
363
|
+
kIdFsubrp, //!< Instruction 'fsubrp'.
|
364
|
+
kIdFtst, //!< Instruction 'ftst'.
|
365
|
+
kIdFucom, //!< Instruction 'fucom'.
|
366
|
+
kIdFucomi, //!< Instruction 'fucomi'.
|
367
|
+
kIdFucomip, //!< Instruction 'fucomip'.
|
368
|
+
kIdFucomp, //!< Instruction 'fucomp'.
|
369
|
+
kIdFucompp, //!< Instruction 'fucompp'.
|
370
|
+
kIdFwait, //!< Instruction 'fwait'.
|
371
|
+
kIdFxam, //!< Instruction 'fxam'.
|
372
|
+
kIdFxch, //!< Instruction 'fxch'.
|
373
|
+
kIdFxrstor, //!< Instruction 'fxrstor' {FXSR}.
|
374
|
+
kIdFxrstor64, //!< Instruction 'fxrstor64' {FXSR} (X64).
|
375
|
+
kIdFxsave, //!< Instruction 'fxsave' {FXSR}.
|
376
|
+
kIdFxsave64, //!< Instruction 'fxsave64' {FXSR} (X64).
|
377
|
+
kIdFxtract, //!< Instruction 'fxtract'.
|
378
|
+
kIdFyl2x, //!< Instruction 'fyl2x'.
|
379
|
+
kIdFyl2xp1, //!< Instruction 'fyl2xp1'.
|
380
|
+
kIdGetsec, //!< Instruction 'getsec' {SMX}.
|
381
|
+
kIdGf2p8affineinvqb, //!< Instruction 'gf2p8affineinvqb' {GFNI}.
|
382
|
+
kIdGf2p8affineqb, //!< Instruction 'gf2p8affineqb' {GFNI}.
|
383
|
+
kIdGf2p8mulb, //!< Instruction 'gf2p8mulb' {GFNI}.
|
384
|
+
kIdHaddpd, //!< Instruction 'haddpd' {SSE3}.
|
385
|
+
kIdHaddps, //!< Instruction 'haddps' {SSE3}.
|
386
|
+
kIdHlt, //!< Instruction 'hlt'.
|
387
|
+
kIdHreset, //!< Instruction 'hreset' {HRESET}.
|
388
|
+
kIdHsubpd, //!< Instruction 'hsubpd' {SSE3}.
|
389
|
+
kIdHsubps, //!< Instruction 'hsubps' {SSE3}.
|
390
|
+
kIdIdiv, //!< Instruction 'idiv'.
|
391
|
+
kIdImul, //!< Instruction 'imul'.
|
392
|
+
kIdIn, //!< Instruction 'in'.
|
393
|
+
kIdInc, //!< Instruction 'inc'.
|
394
|
+
kIdIncsspd, //!< Instruction 'incsspd' {CET_SS}.
|
395
|
+
kIdIncsspq, //!< Instruction 'incsspq' {CET_SS} (X64).
|
396
|
+
kIdIns, //!< Instruction 'ins'.
|
397
|
+
kIdInsertps, //!< Instruction 'insertps' {SSE4_1}.
|
398
|
+
kIdInsertq, //!< Instruction 'insertq' {SSE4A}.
|
399
|
+
kIdInt, //!< Instruction 'int'.
|
400
|
+
kIdInt3, //!< Instruction 'int3'.
|
401
|
+
kIdInto, //!< Instruction 'into' (X86).
|
402
|
+
kIdInvd, //!< Instruction 'invd' {I486}.
|
403
|
+
kIdInvept, //!< Instruction 'invept' {VMX}.
|
404
|
+
kIdInvlpg, //!< Instruction 'invlpg' {I486}.
|
405
|
+
kIdInvlpga, //!< Instruction 'invlpga' {SVM}.
|
406
|
+
kIdInvpcid, //!< Instruction 'invpcid' {I486}.
|
407
|
+
kIdInvvpid, //!< Instruction 'invvpid' {VMX}.
|
408
|
+
kIdIret, //!< Instruction 'iret'.
|
409
|
+
kIdIretd, //!< Instruction 'iretd'.
|
410
|
+
kIdIretq, //!< Instruction 'iretq' (X64).
|
411
|
+
kIdJa, //!< Instruction 'ja'.
|
412
|
+
kIdJae, //!< Instruction 'jae'.
|
413
|
+
kIdJb, //!< Instruction 'jb'.
|
414
|
+
kIdJbe, //!< Instruction 'jbe'.
|
415
|
+
kIdJc, //!< Instruction 'jc'.
|
416
|
+
kIdJe, //!< Instruction 'je'.
|
417
|
+
kIdJecxz, //!< Instruction 'jecxz'.
|
418
|
+
kIdJg, //!< Instruction 'jg'.
|
419
|
+
kIdJge, //!< Instruction 'jge'.
|
420
|
+
kIdJl, //!< Instruction 'jl'.
|
421
|
+
kIdJle, //!< Instruction 'jle'.
|
422
|
+
kIdJmp, //!< Instruction 'jmp'.
|
423
|
+
kIdJna, //!< Instruction 'jna'.
|
424
|
+
kIdJnae, //!< Instruction 'jnae'.
|
425
|
+
kIdJnb, //!< Instruction 'jnb'.
|
426
|
+
kIdJnbe, //!< Instruction 'jnbe'.
|
427
|
+
kIdJnc, //!< Instruction 'jnc'.
|
428
|
+
kIdJne, //!< Instruction 'jne'.
|
429
|
+
kIdJng, //!< Instruction 'jng'.
|
430
|
+
kIdJnge, //!< Instruction 'jnge'.
|
431
|
+
kIdJnl, //!< Instruction 'jnl'.
|
432
|
+
kIdJnle, //!< Instruction 'jnle'.
|
433
|
+
kIdJno, //!< Instruction 'jno'.
|
434
|
+
kIdJnp, //!< Instruction 'jnp'.
|
435
|
+
kIdJns, //!< Instruction 'jns'.
|
436
|
+
kIdJnz, //!< Instruction 'jnz'.
|
437
|
+
kIdJo, //!< Instruction 'jo'.
|
438
|
+
kIdJp, //!< Instruction 'jp'.
|
439
|
+
kIdJpe, //!< Instruction 'jpe'.
|
440
|
+
kIdJpo, //!< Instruction 'jpo'.
|
441
|
+
kIdJs, //!< Instruction 'js'.
|
442
|
+
kIdJz, //!< Instruction 'jz'.
|
443
|
+
kIdKaddb, //!< Instruction 'kaddb' {AVX512_DQ}.
|
444
|
+
kIdKaddd, //!< Instruction 'kaddd' {AVX512_BW}.
|
445
|
+
kIdKaddq, //!< Instruction 'kaddq' {AVX512_BW}.
|
446
|
+
kIdKaddw, //!< Instruction 'kaddw' {AVX512_DQ}.
|
447
|
+
kIdKandb, //!< Instruction 'kandb' {AVX512_DQ}.
|
448
|
+
kIdKandd, //!< Instruction 'kandd' {AVX512_BW}.
|
449
|
+
kIdKandnb, //!< Instruction 'kandnb' {AVX512_DQ}.
|
450
|
+
kIdKandnd, //!< Instruction 'kandnd' {AVX512_BW}.
|
451
|
+
kIdKandnq, //!< Instruction 'kandnq' {AVX512_BW}.
|
452
|
+
kIdKandnw, //!< Instruction 'kandnw' {AVX512_F}.
|
453
|
+
kIdKandq, //!< Instruction 'kandq' {AVX512_BW}.
|
454
|
+
kIdKandw, //!< Instruction 'kandw' {AVX512_F}.
|
455
|
+
kIdKmovb, //!< Instruction 'kmovb' {AVX512_DQ}.
|
456
|
+
kIdKmovd, //!< Instruction 'kmovd' {AVX512_BW}.
|
457
|
+
kIdKmovq, //!< Instruction 'kmovq' {AVX512_BW}.
|
458
|
+
kIdKmovw, //!< Instruction 'kmovw' {AVX512_F}.
|
459
|
+
kIdKnotb, //!< Instruction 'knotb' {AVX512_DQ}.
|
460
|
+
kIdKnotd, //!< Instruction 'knotd' {AVX512_BW}.
|
461
|
+
kIdKnotq, //!< Instruction 'knotq' {AVX512_BW}.
|
462
|
+
kIdKnotw, //!< Instruction 'knotw' {AVX512_F}.
|
463
|
+
kIdKorb, //!< Instruction 'korb' {AVX512_DQ}.
|
464
|
+
kIdKord, //!< Instruction 'kord' {AVX512_BW}.
|
465
|
+
kIdKorq, //!< Instruction 'korq' {AVX512_BW}.
|
466
|
+
kIdKortestb, //!< Instruction 'kortestb' {AVX512_DQ}.
|
467
|
+
kIdKortestd, //!< Instruction 'kortestd' {AVX512_BW}.
|
468
|
+
kIdKortestq, //!< Instruction 'kortestq' {AVX512_BW}.
|
469
|
+
kIdKortestw, //!< Instruction 'kortestw' {AVX512_F}.
|
470
|
+
kIdKorw, //!< Instruction 'korw' {AVX512_F}.
|
471
|
+
kIdKshiftlb, //!< Instruction 'kshiftlb' {AVX512_DQ}.
|
472
|
+
kIdKshiftld, //!< Instruction 'kshiftld' {AVX512_BW}.
|
473
|
+
kIdKshiftlq, //!< Instruction 'kshiftlq' {AVX512_BW}.
|
474
|
+
kIdKshiftlw, //!< Instruction 'kshiftlw' {AVX512_F}.
|
475
|
+
kIdKshiftrb, //!< Instruction 'kshiftrb' {AVX512_DQ}.
|
476
|
+
kIdKshiftrd, //!< Instruction 'kshiftrd' {AVX512_BW}.
|
477
|
+
kIdKshiftrq, //!< Instruction 'kshiftrq' {AVX512_BW}.
|
478
|
+
kIdKshiftrw, //!< Instruction 'kshiftrw' {AVX512_F}.
|
479
|
+
kIdKtestb, //!< Instruction 'ktestb' {AVX512_DQ}.
|
480
|
+
kIdKtestd, //!< Instruction 'ktestd' {AVX512_BW}.
|
481
|
+
kIdKtestq, //!< Instruction 'ktestq' {AVX512_BW}.
|
482
|
+
kIdKtestw, //!< Instruction 'ktestw' {AVX512_DQ}.
|
483
|
+
kIdKunpckbw, //!< Instruction 'kunpckbw' {AVX512_F}.
|
484
|
+
kIdKunpckdq, //!< Instruction 'kunpckdq' {AVX512_BW}.
|
485
|
+
kIdKunpckwd, //!< Instruction 'kunpckwd' {AVX512_BW}.
|
486
|
+
kIdKxnorb, //!< Instruction 'kxnorb' {AVX512_DQ}.
|
487
|
+
kIdKxnord, //!< Instruction 'kxnord' {AVX512_BW}.
|
488
|
+
kIdKxnorq, //!< Instruction 'kxnorq' {AVX512_BW}.
|
489
|
+
kIdKxnorw, //!< Instruction 'kxnorw' {AVX512_F}.
|
490
|
+
kIdKxorb, //!< Instruction 'kxorb' {AVX512_DQ}.
|
491
|
+
kIdKxord, //!< Instruction 'kxord' {AVX512_BW}.
|
492
|
+
kIdKxorq, //!< Instruction 'kxorq' {AVX512_BW}.
|
493
|
+
kIdKxorw, //!< Instruction 'kxorw' {AVX512_F}.
|
494
|
+
kIdLahf, //!< Instruction 'lahf' {LAHFSAHF}.
|
495
|
+
kIdLar, //!< Instruction 'lar'.
|
496
|
+
kIdLcall, //!< Instruction 'lcall'.
|
497
|
+
kIdLddqu, //!< Instruction 'lddqu' {SSE3}.
|
498
|
+
kIdLdmxcsr, //!< Instruction 'ldmxcsr' {SSE}.
|
499
|
+
kIdLds, //!< Instruction 'lds' (X86).
|
500
|
+
kIdLdtilecfg, //!< Instruction 'ldtilecfg' {AMX_TILE} (X64).
|
501
|
+
kIdLea, //!< Instruction 'lea'.
|
502
|
+
kIdLeave, //!< Instruction 'leave'.
|
503
|
+
kIdLes, //!< Instruction 'les' (X86).
|
504
|
+
kIdLfence, //!< Instruction 'lfence' {SSE2}.
|
505
|
+
kIdLfs, //!< Instruction 'lfs'.
|
506
|
+
kIdLgdt, //!< Instruction 'lgdt'.
|
507
|
+
kIdLgs, //!< Instruction 'lgs'.
|
508
|
+
kIdLidt, //!< Instruction 'lidt'.
|
509
|
+
kIdLjmp, //!< Instruction 'ljmp'.
|
510
|
+
kIdLldt, //!< Instruction 'lldt'.
|
511
|
+
kIdLlwpcb, //!< Instruction 'llwpcb' {LWP}.
|
512
|
+
kIdLmsw, //!< Instruction 'lmsw'.
|
513
|
+
kIdLods, //!< Instruction 'lods'.
|
514
|
+
kIdLoop, //!< Instruction 'loop'.
|
515
|
+
kIdLoope, //!< Instruction 'loope'.
|
516
|
+
kIdLoopne, //!< Instruction 'loopne'.
|
517
|
+
kIdLsl, //!< Instruction 'lsl'.
|
518
|
+
kIdLss, //!< Instruction 'lss'.
|
519
|
+
kIdLtr, //!< Instruction 'ltr'.
|
520
|
+
kIdLwpins, //!< Instruction 'lwpins' {LWP}.
|
521
|
+
kIdLwpval, //!< Instruction 'lwpval' {LWP}.
|
522
|
+
kIdLzcnt, //!< Instruction 'lzcnt' {LZCNT}.
|
523
|
+
kIdMaskmovdqu, //!< Instruction 'maskmovdqu' {SSE2}.
|
524
|
+
kIdMaskmovq, //!< Instruction 'maskmovq' {MMX2}.
|
525
|
+
kIdMaxpd, //!< Instruction 'maxpd' {SSE2}.
|
526
|
+
kIdMaxps, //!< Instruction 'maxps' {SSE}.
|
527
|
+
kIdMaxsd, //!< Instruction 'maxsd' {SSE2}.
|
528
|
+
kIdMaxss, //!< Instruction 'maxss' {SSE}.
|
529
|
+
kIdMcommit, //!< Instruction 'mcommit' {MCOMMIT}.
|
530
|
+
kIdMfence, //!< Instruction 'mfence' {SSE2}.
|
531
|
+
kIdMinpd, //!< Instruction 'minpd' {SSE2}.
|
532
|
+
kIdMinps, //!< Instruction 'minps' {SSE}.
|
533
|
+
kIdMinsd, //!< Instruction 'minsd' {SSE2}.
|
534
|
+
kIdMinss, //!< Instruction 'minss' {SSE}.
|
535
|
+
kIdMonitor, //!< Instruction 'monitor' {MONITOR}.
|
536
|
+
kIdMonitorx, //!< Instruction 'monitorx' {MONITORX}.
|
537
|
+
kIdMov, //!< Instruction 'mov'.
|
538
|
+
kIdMovabs, //!< Instruction 'movabs' (X64).
|
539
|
+
kIdMovapd, //!< Instruction 'movapd' {SSE2}.
|
540
|
+
kIdMovaps, //!< Instruction 'movaps' {SSE}.
|
541
|
+
kIdMovbe, //!< Instruction 'movbe' {MOVBE}.
|
542
|
+
kIdMovd, //!< Instruction 'movd' {MMX|SSE2}.
|
543
|
+
kIdMovddup, //!< Instruction 'movddup' {SSE3}.
|
544
|
+
kIdMovdir64b, //!< Instruction 'movdir64b' {MOVDIR64B}.
|
545
|
+
kIdMovdiri, //!< Instruction 'movdiri' {MOVDIRI}.
|
546
|
+
kIdMovdq2q, //!< Instruction 'movdq2q' {SSE2}.
|
547
|
+
kIdMovdqa, //!< Instruction 'movdqa' {SSE2}.
|
548
|
+
kIdMovdqu, //!< Instruction 'movdqu' {SSE2}.
|
549
|
+
kIdMovhlps, //!< Instruction 'movhlps' {SSE}.
|
550
|
+
kIdMovhpd, //!< Instruction 'movhpd' {SSE2}.
|
551
|
+
kIdMovhps, //!< Instruction 'movhps' {SSE}.
|
552
|
+
kIdMovlhps, //!< Instruction 'movlhps' {SSE}.
|
553
|
+
kIdMovlpd, //!< Instruction 'movlpd' {SSE2}.
|
554
|
+
kIdMovlps, //!< Instruction 'movlps' {SSE}.
|
555
|
+
kIdMovmskpd, //!< Instruction 'movmskpd' {SSE2}.
|
556
|
+
kIdMovmskps, //!< Instruction 'movmskps' {SSE}.
|
557
|
+
kIdMovntdq, //!< Instruction 'movntdq' {SSE2}.
|
558
|
+
kIdMovntdqa, //!< Instruction 'movntdqa' {SSE4_1}.
|
559
|
+
kIdMovnti, //!< Instruction 'movnti' {SSE2}.
|
560
|
+
kIdMovntpd, //!< Instruction 'movntpd' {SSE2}.
|
561
|
+
kIdMovntps, //!< Instruction 'movntps' {SSE}.
|
562
|
+
kIdMovntq, //!< Instruction 'movntq' {MMX2}.
|
563
|
+
kIdMovntsd, //!< Instruction 'movntsd' {SSE4A}.
|
564
|
+
kIdMovntss, //!< Instruction 'movntss' {SSE4A}.
|
565
|
+
kIdMovq, //!< Instruction 'movq' {MMX|SSE2}.
|
566
|
+
kIdMovq2dq, //!< Instruction 'movq2dq' {SSE2}.
|
567
|
+
kIdMovs, //!< Instruction 'movs'.
|
568
|
+
kIdMovsd, //!< Instruction 'movsd' {SSE2}.
|
569
|
+
kIdMovshdup, //!< Instruction 'movshdup' {SSE3}.
|
570
|
+
kIdMovsldup, //!< Instruction 'movsldup' {SSE3}.
|
571
|
+
kIdMovss, //!< Instruction 'movss' {SSE}.
|
572
|
+
kIdMovsx, //!< Instruction 'movsx'.
|
573
|
+
kIdMovsxd, //!< Instruction 'movsxd' (X64).
|
574
|
+
kIdMovupd, //!< Instruction 'movupd' {SSE2}.
|
575
|
+
kIdMovups, //!< Instruction 'movups' {SSE}.
|
576
|
+
kIdMovzx, //!< Instruction 'movzx'.
|
577
|
+
kIdMpsadbw, //!< Instruction 'mpsadbw' {SSE4_1}.
|
578
|
+
kIdMul, //!< Instruction 'mul'.
|
579
|
+
kIdMulpd, //!< Instruction 'mulpd' {SSE2}.
|
580
|
+
kIdMulps, //!< Instruction 'mulps' {SSE}.
|
581
|
+
kIdMulsd, //!< Instruction 'mulsd' {SSE2}.
|
582
|
+
kIdMulss, //!< Instruction 'mulss' {SSE}.
|
583
|
+
kIdMulx, //!< Instruction 'mulx' {BMI2}.
|
584
|
+
kIdMwait, //!< Instruction 'mwait' {MONITOR}.
|
585
|
+
kIdMwaitx, //!< Instruction 'mwaitx' {MONITORX}.
|
586
|
+
kIdNeg, //!< Instruction 'neg'.
|
587
|
+
kIdNop, //!< Instruction 'nop'.
|
588
|
+
kIdNot, //!< Instruction 'not'.
|
589
|
+
kIdOr, //!< Instruction 'or'.
|
590
|
+
kIdOrpd, //!< Instruction 'orpd' {SSE2}.
|
591
|
+
kIdOrps, //!< Instruction 'orps' {SSE}.
|
592
|
+
kIdOut, //!< Instruction 'out'.
|
593
|
+
kIdOuts, //!< Instruction 'outs'.
|
594
|
+
kIdPabsb, //!< Instruction 'pabsb' {SSSE3}.
|
595
|
+
kIdPabsd, //!< Instruction 'pabsd' {SSSE3}.
|
596
|
+
kIdPabsw, //!< Instruction 'pabsw' {SSSE3}.
|
597
|
+
kIdPackssdw, //!< Instruction 'packssdw' {MMX|SSE2}.
|
598
|
+
kIdPacksswb, //!< Instruction 'packsswb' {MMX|SSE2}.
|
599
|
+
kIdPackusdw, //!< Instruction 'packusdw' {SSE4_1}.
|
600
|
+
kIdPackuswb, //!< Instruction 'packuswb' {MMX|SSE2}.
|
601
|
+
kIdPaddb, //!< Instruction 'paddb' {MMX|SSE2}.
|
602
|
+
kIdPaddd, //!< Instruction 'paddd' {MMX|SSE2}.
|
603
|
+
kIdPaddq, //!< Instruction 'paddq' {SSE2}.
|
604
|
+
kIdPaddsb, //!< Instruction 'paddsb' {MMX|SSE2}.
|
605
|
+
kIdPaddsw, //!< Instruction 'paddsw' {MMX|SSE2}.
|
606
|
+
kIdPaddusb, //!< Instruction 'paddusb' {MMX|SSE2}.
|
607
|
+
kIdPaddusw, //!< Instruction 'paddusw' {MMX|SSE2}.
|
608
|
+
kIdPaddw, //!< Instruction 'paddw' {MMX|SSE2}.
|
609
|
+
kIdPalignr, //!< Instruction 'palignr' {SSE3}.
|
610
|
+
kIdPand, //!< Instruction 'pand' {MMX|SSE2}.
|
611
|
+
kIdPandn, //!< Instruction 'pandn' {MMX|SSE2}.
|
612
|
+
kIdPause, //!< Instruction 'pause'.
|
613
|
+
kIdPavgb, //!< Instruction 'pavgb' {MMX2|SSE2}.
|
614
|
+
kIdPavgusb, //!< Instruction 'pavgusb' {3DNOW}.
|
615
|
+
kIdPavgw, //!< Instruction 'pavgw' {MMX2|SSE2}.
|
616
|
+
kIdPblendvb, //!< Instruction 'pblendvb' {SSE4_1}.
|
617
|
+
kIdPblendw, //!< Instruction 'pblendw' {SSE4_1}.
|
618
|
+
kIdPclmulqdq, //!< Instruction 'pclmulqdq' {PCLMULQDQ}.
|
619
|
+
kIdPcmpeqb, //!< Instruction 'pcmpeqb' {MMX|SSE2}.
|
620
|
+
kIdPcmpeqd, //!< Instruction 'pcmpeqd' {MMX|SSE2}.
|
621
|
+
kIdPcmpeqq, //!< Instruction 'pcmpeqq' {SSE4_1}.
|
622
|
+
kIdPcmpeqw, //!< Instruction 'pcmpeqw' {MMX|SSE2}.
|
623
|
+
kIdPcmpestri, //!< Instruction 'pcmpestri' {SSE4_2}.
|
624
|
+
kIdPcmpestrm, //!< Instruction 'pcmpestrm' {SSE4_2}.
|
625
|
+
kIdPcmpgtb, //!< Instruction 'pcmpgtb' {MMX|SSE2}.
|
626
|
+
kIdPcmpgtd, //!< Instruction 'pcmpgtd' {MMX|SSE2}.
|
627
|
+
kIdPcmpgtq, //!< Instruction 'pcmpgtq' {SSE4_2}.
|
628
|
+
kIdPcmpgtw, //!< Instruction 'pcmpgtw' {MMX|SSE2}.
|
629
|
+
kIdPcmpistri, //!< Instruction 'pcmpistri' {SSE4_2}.
|
630
|
+
kIdPcmpistrm, //!< Instruction 'pcmpistrm' {SSE4_2}.
|
631
|
+
kIdPconfig, //!< Instruction 'pconfig' {PCONFIG}.
|
632
|
+
kIdPdep, //!< Instruction 'pdep' {BMI2}.
|
633
|
+
kIdPext, //!< Instruction 'pext' {BMI2}.
|
634
|
+
kIdPextrb, //!< Instruction 'pextrb' {SSE4_1}.
|
635
|
+
kIdPextrd, //!< Instruction 'pextrd' {SSE4_1}.
|
636
|
+
kIdPextrq, //!< Instruction 'pextrq' {SSE4_1} (X64).
|
637
|
+
kIdPextrw, //!< Instruction 'pextrw' {MMX2|SSE2|SSE4_1}.
|
638
|
+
kIdPf2id, //!< Instruction 'pf2id' {3DNOW}.
|
639
|
+
kIdPf2iw, //!< Instruction 'pf2iw' {3DNOW2}.
|
640
|
+
kIdPfacc, //!< Instruction 'pfacc' {3DNOW}.
|
641
|
+
kIdPfadd, //!< Instruction 'pfadd' {3DNOW}.
|
642
|
+
kIdPfcmpeq, //!< Instruction 'pfcmpeq' {3DNOW}.
|
643
|
+
kIdPfcmpge, //!< Instruction 'pfcmpge' {3DNOW}.
|
644
|
+
kIdPfcmpgt, //!< Instruction 'pfcmpgt' {3DNOW}.
|
645
|
+
kIdPfmax, //!< Instruction 'pfmax' {3DNOW}.
|
646
|
+
kIdPfmin, //!< Instruction 'pfmin' {3DNOW}.
|
647
|
+
kIdPfmul, //!< Instruction 'pfmul' {3DNOW}.
|
648
|
+
kIdPfnacc, //!< Instruction 'pfnacc' {3DNOW2}.
|
649
|
+
kIdPfpnacc, //!< Instruction 'pfpnacc' {3DNOW2}.
|
650
|
+
kIdPfrcp, //!< Instruction 'pfrcp' {3DNOW}.
|
651
|
+
kIdPfrcpit1, //!< Instruction 'pfrcpit1' {3DNOW}.
|
652
|
+
kIdPfrcpit2, //!< Instruction 'pfrcpit2' {3DNOW}.
|
653
|
+
kIdPfrcpv, //!< Instruction 'pfrcpv' {GEODE}.
|
654
|
+
kIdPfrsqit1, //!< Instruction 'pfrsqit1' {3DNOW}.
|
655
|
+
kIdPfrsqrt, //!< Instruction 'pfrsqrt' {3DNOW}.
|
656
|
+
kIdPfrsqrtv, //!< Instruction 'pfrsqrtv' {GEODE}.
|
657
|
+
kIdPfsub, //!< Instruction 'pfsub' {3DNOW}.
|
658
|
+
kIdPfsubr, //!< Instruction 'pfsubr' {3DNOW}.
|
659
|
+
kIdPhaddd, //!< Instruction 'phaddd' {SSSE3}.
|
660
|
+
kIdPhaddsw, //!< Instruction 'phaddsw' {SSSE3}.
|
661
|
+
kIdPhaddw, //!< Instruction 'phaddw' {SSSE3}.
|
662
|
+
kIdPhminposuw, //!< Instruction 'phminposuw' {SSE4_1}.
|
663
|
+
kIdPhsubd, //!< Instruction 'phsubd' {SSSE3}.
|
664
|
+
kIdPhsubsw, //!< Instruction 'phsubsw' {SSSE3}.
|
665
|
+
kIdPhsubw, //!< Instruction 'phsubw' {SSSE3}.
|
666
|
+
kIdPi2fd, //!< Instruction 'pi2fd' {3DNOW}.
|
667
|
+
kIdPi2fw, //!< Instruction 'pi2fw' {3DNOW2}.
|
668
|
+
kIdPinsrb, //!< Instruction 'pinsrb' {SSE4_1}.
|
669
|
+
kIdPinsrd, //!< Instruction 'pinsrd' {SSE4_1}.
|
670
|
+
kIdPinsrq, //!< Instruction 'pinsrq' {SSE4_1} (X64).
|
671
|
+
kIdPinsrw, //!< Instruction 'pinsrw' {MMX2|SSE2}.
|
672
|
+
kIdPmaddubsw, //!< Instruction 'pmaddubsw' {SSSE3}.
|
673
|
+
kIdPmaddwd, //!< Instruction 'pmaddwd' {MMX|SSE2}.
|
674
|
+
kIdPmaxsb, //!< Instruction 'pmaxsb' {SSE4_1}.
|
675
|
+
kIdPmaxsd, //!< Instruction 'pmaxsd' {SSE4_1}.
|
676
|
+
kIdPmaxsw, //!< Instruction 'pmaxsw' {MMX2|SSE2}.
|
677
|
+
kIdPmaxub, //!< Instruction 'pmaxub' {MMX2|SSE2}.
|
678
|
+
kIdPmaxud, //!< Instruction 'pmaxud' {SSE4_1}.
|
679
|
+
kIdPmaxuw, //!< Instruction 'pmaxuw' {SSE4_1}.
|
680
|
+
kIdPminsb, //!< Instruction 'pminsb' {SSE4_1}.
|
681
|
+
kIdPminsd, //!< Instruction 'pminsd' {SSE4_1}.
|
682
|
+
kIdPminsw, //!< Instruction 'pminsw' {MMX2|SSE2}.
|
683
|
+
kIdPminub, //!< Instruction 'pminub' {MMX2|SSE2}.
|
684
|
+
kIdPminud, //!< Instruction 'pminud' {SSE4_1}.
|
685
|
+
kIdPminuw, //!< Instruction 'pminuw' {SSE4_1}.
|
686
|
+
kIdPmovmskb, //!< Instruction 'pmovmskb' {MMX2|SSE2}.
|
687
|
+
kIdPmovsxbd, //!< Instruction 'pmovsxbd' {SSE4_1}.
|
688
|
+
kIdPmovsxbq, //!< Instruction 'pmovsxbq' {SSE4_1}.
|
689
|
+
kIdPmovsxbw, //!< Instruction 'pmovsxbw' {SSE4_1}.
|
690
|
+
kIdPmovsxdq, //!< Instruction 'pmovsxdq' {SSE4_1}.
|
691
|
+
kIdPmovsxwd, //!< Instruction 'pmovsxwd' {SSE4_1}.
|
692
|
+
kIdPmovsxwq, //!< Instruction 'pmovsxwq' {SSE4_1}.
|
693
|
+
kIdPmovzxbd, //!< Instruction 'pmovzxbd' {SSE4_1}.
|
694
|
+
kIdPmovzxbq, //!< Instruction 'pmovzxbq' {SSE4_1}.
|
695
|
+
kIdPmovzxbw, //!< Instruction 'pmovzxbw' {SSE4_1}.
|
696
|
+
kIdPmovzxdq, //!< Instruction 'pmovzxdq' {SSE4_1}.
|
697
|
+
kIdPmovzxwd, //!< Instruction 'pmovzxwd' {SSE4_1}.
|
698
|
+
kIdPmovzxwq, //!< Instruction 'pmovzxwq' {SSE4_1}.
|
699
|
+
kIdPmuldq, //!< Instruction 'pmuldq' {SSE4_1}.
|
700
|
+
kIdPmulhrsw, //!< Instruction 'pmulhrsw' {SSSE3}.
|
701
|
+
kIdPmulhrw, //!< Instruction 'pmulhrw' {3DNOW}.
|
702
|
+
kIdPmulhuw, //!< Instruction 'pmulhuw' {MMX2|SSE2}.
|
703
|
+
kIdPmulhw, //!< Instruction 'pmulhw' {MMX|SSE2}.
|
704
|
+
kIdPmulld, //!< Instruction 'pmulld' {SSE4_1}.
|
705
|
+
kIdPmullw, //!< Instruction 'pmullw' {MMX|SSE2}.
|
706
|
+
kIdPmuludq, //!< Instruction 'pmuludq' {SSE2}.
|
707
|
+
kIdPop, //!< Instruction 'pop'.
|
708
|
+
kIdPopa, //!< Instruction 'popa' (X86).
|
709
|
+
kIdPopad, //!< Instruction 'popad' (X86).
|
710
|
+
kIdPopcnt, //!< Instruction 'popcnt' {POPCNT}.
|
711
|
+
kIdPopf, //!< Instruction 'popf'.
|
712
|
+
kIdPopfd, //!< Instruction 'popfd' (X86).
|
713
|
+
kIdPopfq, //!< Instruction 'popfq' (X64).
|
714
|
+
kIdPor, //!< Instruction 'por' {MMX|SSE2}.
|
715
|
+
kIdPrefetch, //!< Instruction 'prefetch' {3DNOW}.
|
716
|
+
kIdPrefetchnta, //!< Instruction 'prefetchnta' {MMX2}.
|
717
|
+
kIdPrefetcht0, //!< Instruction 'prefetcht0' {MMX2}.
|
718
|
+
kIdPrefetcht1, //!< Instruction 'prefetcht1' {MMX2}.
|
719
|
+
kIdPrefetcht2, //!< Instruction 'prefetcht2' {MMX2}.
|
720
|
+
kIdPrefetchw, //!< Instruction 'prefetchw' {PREFETCHW}.
|
721
|
+
kIdPrefetchwt1, //!< Instruction 'prefetchwt1' {PREFETCHWT1}.
|
722
|
+
kIdPsadbw, //!< Instruction 'psadbw' {MMX2|SSE2}.
|
723
|
+
kIdPshufb, //!< Instruction 'pshufb' {SSSE3}.
|
724
|
+
kIdPshufd, //!< Instruction 'pshufd' {SSE2}.
|
725
|
+
kIdPshufhw, //!< Instruction 'pshufhw' {SSE2}.
|
726
|
+
kIdPshuflw, //!< Instruction 'pshuflw' {SSE2}.
|
727
|
+
kIdPshufw, //!< Instruction 'pshufw' {MMX2}.
|
728
|
+
kIdPsignb, //!< Instruction 'psignb' {SSSE3}.
|
729
|
+
kIdPsignd, //!< Instruction 'psignd' {SSSE3}.
|
730
|
+
kIdPsignw, //!< Instruction 'psignw' {SSSE3}.
|
731
|
+
kIdPslld, //!< Instruction 'pslld' {MMX|SSE2}.
|
732
|
+
kIdPslldq, //!< Instruction 'pslldq' {SSE2}.
|
733
|
+
kIdPsllq, //!< Instruction 'psllq' {MMX|SSE2}.
|
734
|
+
kIdPsllw, //!< Instruction 'psllw' {MMX|SSE2}.
|
735
|
+
kIdPsmash, //!< Instruction 'psmash' {SNP} (X64).
|
736
|
+
kIdPsrad, //!< Instruction 'psrad' {MMX|SSE2}.
|
737
|
+
kIdPsraw, //!< Instruction 'psraw' {MMX|SSE2}.
|
738
|
+
kIdPsrld, //!< Instruction 'psrld' {MMX|SSE2}.
|
739
|
+
kIdPsrldq, //!< Instruction 'psrldq' {SSE2}.
|
740
|
+
kIdPsrlq, //!< Instruction 'psrlq' {MMX|SSE2}.
|
741
|
+
kIdPsrlw, //!< Instruction 'psrlw' {MMX|SSE2}.
|
742
|
+
kIdPsubb, //!< Instruction 'psubb' {MMX|SSE2}.
|
743
|
+
kIdPsubd, //!< Instruction 'psubd' {MMX|SSE2}.
|
744
|
+
kIdPsubq, //!< Instruction 'psubq' {SSE2}.
|
745
|
+
kIdPsubsb, //!< Instruction 'psubsb' {MMX|SSE2}.
|
746
|
+
kIdPsubsw, //!< Instruction 'psubsw' {MMX|SSE2}.
|
747
|
+
kIdPsubusb, //!< Instruction 'psubusb' {MMX|SSE2}.
|
748
|
+
kIdPsubusw, //!< Instruction 'psubusw' {MMX|SSE2}.
|
749
|
+
kIdPsubw, //!< Instruction 'psubw' {MMX|SSE2}.
|
750
|
+
kIdPswapd, //!< Instruction 'pswapd' {3DNOW2}.
|
751
|
+
kIdPtest, //!< Instruction 'ptest' {SSE4_1}.
|
752
|
+
kIdPtwrite, //!< Instruction 'ptwrite' {PTWRITE}.
|
753
|
+
kIdPunpckhbw, //!< Instruction 'punpckhbw' {MMX|SSE2}.
|
754
|
+
kIdPunpckhdq, //!< Instruction 'punpckhdq' {MMX|SSE2}.
|
755
|
+
kIdPunpckhqdq, //!< Instruction 'punpckhqdq' {SSE2}.
|
756
|
+
kIdPunpckhwd, //!< Instruction 'punpckhwd' {MMX|SSE2}.
|
757
|
+
kIdPunpcklbw, //!< Instruction 'punpcklbw' {MMX|SSE2}.
|
758
|
+
kIdPunpckldq, //!< Instruction 'punpckldq' {MMX|SSE2}.
|
759
|
+
kIdPunpcklqdq, //!< Instruction 'punpcklqdq' {SSE2}.
|
760
|
+
kIdPunpcklwd, //!< Instruction 'punpcklwd' {MMX|SSE2}.
|
761
|
+
kIdPush, //!< Instruction 'push'.
|
762
|
+
kIdPusha, //!< Instruction 'pusha' (X86).
|
763
|
+
kIdPushad, //!< Instruction 'pushad' (X86).
|
764
|
+
kIdPushf, //!< Instruction 'pushf'.
|
765
|
+
kIdPushfd, //!< Instruction 'pushfd' (X86).
|
766
|
+
kIdPushfq, //!< Instruction 'pushfq' (X64).
|
767
|
+
kIdPvalidate, //!< Instruction 'pvalidate' {SNP}.
|
768
|
+
kIdPxor, //!< Instruction 'pxor' {MMX|SSE2}.
|
769
|
+
kIdRcl, //!< Instruction 'rcl'.
|
770
|
+
kIdRcpps, //!< Instruction 'rcpps' {SSE}.
|
771
|
+
kIdRcpss, //!< Instruction 'rcpss' {SSE}.
|
772
|
+
kIdRcr, //!< Instruction 'rcr'.
|
773
|
+
kIdRdfsbase, //!< Instruction 'rdfsbase' {FSGSBASE} (X64).
|
774
|
+
kIdRdgsbase, //!< Instruction 'rdgsbase' {FSGSBASE} (X64).
|
775
|
+
kIdRdmsr, //!< Instruction 'rdmsr' {MSR}.
|
776
|
+
kIdRdpid, //!< Instruction 'rdpid' {RDPID}.
|
777
|
+
kIdRdpkru, //!< Instruction 'rdpkru' {OSPKE}.
|
778
|
+
kIdRdpmc, //!< Instruction 'rdpmc'.
|
779
|
+
kIdRdpru, //!< Instruction 'rdpru' {RDPRU}.
|
780
|
+
kIdRdrand, //!< Instruction 'rdrand' {RDRAND}.
|
781
|
+
kIdRdseed, //!< Instruction 'rdseed' {RDSEED}.
|
782
|
+
kIdRdsspd, //!< Instruction 'rdsspd' {CET_SS}.
|
783
|
+
kIdRdsspq, //!< Instruction 'rdsspq' {CET_SS} (X64).
|
784
|
+
kIdRdtsc, //!< Instruction 'rdtsc' {RDTSC}.
|
785
|
+
kIdRdtscp, //!< Instruction 'rdtscp' {RDTSCP}.
|
786
|
+
kIdRet, //!< Instruction 'ret'.
|
787
|
+
kIdRetf, //!< Instruction 'retf'.
|
788
|
+
kIdRmpadjust, //!< Instruction 'rmpadjust' {SNP} (X64).
|
789
|
+
kIdRmpupdate, //!< Instruction 'rmpupdate' {SNP} (X64).
|
790
|
+
kIdRol, //!< Instruction 'rol'.
|
791
|
+
kIdRor, //!< Instruction 'ror'.
|
792
|
+
kIdRorx, //!< Instruction 'rorx' {BMI2}.
|
793
|
+
kIdRoundpd, //!< Instruction 'roundpd' {SSE4_1}.
|
794
|
+
kIdRoundps, //!< Instruction 'roundps' {SSE4_1}.
|
795
|
+
kIdRoundsd, //!< Instruction 'roundsd' {SSE4_1}.
|
796
|
+
kIdRoundss, //!< Instruction 'roundss' {SSE4_1}.
|
797
|
+
kIdRsm, //!< Instruction 'rsm' (X86).
|
798
|
+
kIdRsqrtps, //!< Instruction 'rsqrtps' {SSE}.
|
799
|
+
kIdRsqrtss, //!< Instruction 'rsqrtss' {SSE}.
|
800
|
+
kIdRstorssp, //!< Instruction 'rstorssp' {CET_SS}.
|
801
|
+
kIdSahf, //!< Instruction 'sahf' {LAHFSAHF}.
|
802
|
+
kIdSal, //!< Instruction 'sal'.
|
803
|
+
kIdSar, //!< Instruction 'sar'.
|
804
|
+
kIdSarx, //!< Instruction 'sarx' {BMI2}.
|
805
|
+
kIdSaveprevssp, //!< Instruction 'saveprevssp' {CET_SS}.
|
806
|
+
kIdSbb, //!< Instruction 'sbb'.
|
807
|
+
kIdScas, //!< Instruction 'scas'.
|
808
|
+
kIdSenduipi, //!< Instruction 'senduipi' {UINTR} (X64).
|
809
|
+
kIdSerialize, //!< Instruction 'serialize' {SERIALIZE}.
|
810
|
+
kIdSeta, //!< Instruction 'seta'.
|
811
|
+
kIdSetae, //!< Instruction 'setae'.
|
812
|
+
kIdSetb, //!< Instruction 'setb'.
|
813
|
+
kIdSetbe, //!< Instruction 'setbe'.
|
814
|
+
kIdSetc, //!< Instruction 'setc'.
|
815
|
+
kIdSete, //!< Instruction 'sete'.
|
816
|
+
kIdSetg, //!< Instruction 'setg'.
|
817
|
+
kIdSetge, //!< Instruction 'setge'.
|
818
|
+
kIdSetl, //!< Instruction 'setl'.
|
819
|
+
kIdSetle, //!< Instruction 'setle'.
|
820
|
+
kIdSetna, //!< Instruction 'setna'.
|
821
|
+
kIdSetnae, //!< Instruction 'setnae'.
|
822
|
+
kIdSetnb, //!< Instruction 'setnb'.
|
823
|
+
kIdSetnbe, //!< Instruction 'setnbe'.
|
824
|
+
kIdSetnc, //!< Instruction 'setnc'.
|
825
|
+
kIdSetne, //!< Instruction 'setne'.
|
826
|
+
kIdSetng, //!< Instruction 'setng'.
|
827
|
+
kIdSetnge, //!< Instruction 'setnge'.
|
828
|
+
kIdSetnl, //!< Instruction 'setnl'.
|
829
|
+
kIdSetnle, //!< Instruction 'setnle'.
|
830
|
+
kIdSetno, //!< Instruction 'setno'.
|
831
|
+
kIdSetnp, //!< Instruction 'setnp'.
|
832
|
+
kIdSetns, //!< Instruction 'setns'.
|
833
|
+
kIdSetnz, //!< Instruction 'setnz'.
|
834
|
+
kIdSeto, //!< Instruction 'seto'.
|
835
|
+
kIdSetp, //!< Instruction 'setp'.
|
836
|
+
kIdSetpe, //!< Instruction 'setpe'.
|
837
|
+
kIdSetpo, //!< Instruction 'setpo'.
|
838
|
+
kIdSets, //!< Instruction 'sets'.
|
839
|
+
kIdSetssbsy, //!< Instruction 'setssbsy' {CET_SS}.
|
840
|
+
kIdSetz, //!< Instruction 'setz'.
|
841
|
+
kIdSfence, //!< Instruction 'sfence' {MMX2}.
|
842
|
+
kIdSgdt, //!< Instruction 'sgdt'.
|
843
|
+
kIdSha1msg1, //!< Instruction 'sha1msg1' {SHA}.
|
844
|
+
kIdSha1msg2, //!< Instruction 'sha1msg2' {SHA}.
|
845
|
+
kIdSha1nexte, //!< Instruction 'sha1nexte' {SHA}.
|
846
|
+
kIdSha1rnds4, //!< Instruction 'sha1rnds4' {SHA}.
|
847
|
+
kIdSha256msg1, //!< Instruction 'sha256msg1' {SHA}.
|
848
|
+
kIdSha256msg2, //!< Instruction 'sha256msg2' {SHA}.
|
849
|
+
kIdSha256rnds2, //!< Instruction 'sha256rnds2' {SHA}.
|
850
|
+
kIdShl, //!< Instruction 'shl'.
|
851
|
+
kIdShld, //!< Instruction 'shld'.
|
852
|
+
kIdShlx, //!< Instruction 'shlx' {BMI2}.
|
853
|
+
kIdShr, //!< Instruction 'shr'.
|
854
|
+
kIdShrd, //!< Instruction 'shrd'.
|
855
|
+
kIdShrx, //!< Instruction 'shrx' {BMI2}.
|
856
|
+
kIdShufpd, //!< Instruction 'shufpd' {SSE2}.
|
857
|
+
kIdShufps, //!< Instruction 'shufps' {SSE}.
|
858
|
+
kIdSidt, //!< Instruction 'sidt'.
|
859
|
+
kIdSkinit, //!< Instruction 'skinit' {SKINIT}.
|
860
|
+
kIdSldt, //!< Instruction 'sldt'.
|
861
|
+
kIdSlwpcb, //!< Instruction 'slwpcb' {LWP}.
|
862
|
+
kIdSmsw, //!< Instruction 'smsw'.
|
863
|
+
kIdSqrtpd, //!< Instruction 'sqrtpd' {SSE2}.
|
864
|
+
kIdSqrtps, //!< Instruction 'sqrtps' {SSE}.
|
865
|
+
kIdSqrtsd, //!< Instruction 'sqrtsd' {SSE2}.
|
866
|
+
kIdSqrtss, //!< Instruction 'sqrtss' {SSE}.
|
867
|
+
kIdStac, //!< Instruction 'stac' {SMAP}.
|
868
|
+
kIdStc, //!< Instruction 'stc'.
|
869
|
+
kIdStd, //!< Instruction 'std'.
|
870
|
+
kIdStgi, //!< Instruction 'stgi' {SKINIT}.
|
871
|
+
kIdSti, //!< Instruction 'sti'.
|
872
|
+
kIdStmxcsr, //!< Instruction 'stmxcsr' {SSE}.
|
873
|
+
kIdStos, //!< Instruction 'stos'.
|
874
|
+
kIdStr, //!< Instruction 'str'.
|
875
|
+
kIdSttilecfg, //!< Instruction 'sttilecfg' {AMX_TILE} (X64).
|
876
|
+
kIdStui, //!< Instruction 'stui' {UINTR} (X64).
|
877
|
+
kIdSub, //!< Instruction 'sub'.
|
878
|
+
kIdSubpd, //!< Instruction 'subpd' {SSE2}.
|
879
|
+
kIdSubps, //!< Instruction 'subps' {SSE}.
|
880
|
+
kIdSubsd, //!< Instruction 'subsd' {SSE2}.
|
881
|
+
kIdSubss, //!< Instruction 'subss' {SSE}.
|
882
|
+
kIdSwapgs, //!< Instruction 'swapgs' (X64).
|
883
|
+
kIdSyscall, //!< Instruction 'syscall' (X64).
|
884
|
+
kIdSysenter, //!< Instruction 'sysenter'.
|
885
|
+
kIdSysexit, //!< Instruction 'sysexit'.
|
886
|
+
kIdSysexitq, //!< Instruction 'sysexitq'.
|
887
|
+
kIdSysret, //!< Instruction 'sysret' (X64).
|
888
|
+
kIdSysretq, //!< Instruction 'sysretq' (X64).
|
889
|
+
kIdT1mskc, //!< Instruction 't1mskc' {TBM}.
|
890
|
+
kIdTdpbf16ps, //!< Instruction 'tdpbf16ps' {AMX_BF16} (X64).
|
891
|
+
kIdTdpbssd, //!< Instruction 'tdpbssd' {AMX_INT8} (X64).
|
892
|
+
kIdTdpbsud, //!< Instruction 'tdpbsud' {AMX_INT8} (X64).
|
893
|
+
kIdTdpbusd, //!< Instruction 'tdpbusd' {AMX_INT8} (X64).
|
894
|
+
kIdTdpbuud, //!< Instruction 'tdpbuud' {AMX_INT8} (X64).
|
895
|
+
kIdTest, //!< Instruction 'test'.
|
896
|
+
kIdTestui, //!< Instruction 'testui' {UINTR} (X64).
|
897
|
+
kIdTileloadd, //!< Instruction 'tileloadd' {AMX_TILE} (X64).
|
898
|
+
kIdTileloaddt1, //!< Instruction 'tileloaddt1' {AMX_TILE} (X64).
|
899
|
+
kIdTilerelease, //!< Instruction 'tilerelease' {AMX_TILE} (X64).
|
900
|
+
kIdTilestored, //!< Instruction 'tilestored' {AMX_TILE} (X64).
|
901
|
+
kIdTilezero, //!< Instruction 'tilezero' {AMX_TILE} (X64).
|
902
|
+
kIdTpause, //!< Instruction 'tpause' {WAITPKG}.
|
903
|
+
kIdTzcnt, //!< Instruction 'tzcnt' {BMI}.
|
904
|
+
kIdTzmsk, //!< Instruction 'tzmsk' {TBM}.
|
905
|
+
kIdUcomisd, //!< Instruction 'ucomisd' {SSE2}.
|
906
|
+
kIdUcomiss, //!< Instruction 'ucomiss' {SSE}.
|
907
|
+
kIdUd0, //!< Instruction 'ud0'.
|
908
|
+
kIdUd1, //!< Instruction 'ud1'.
|
909
|
+
kIdUd2, //!< Instruction 'ud2'.
|
910
|
+
kIdUiret, //!< Instruction 'uiret' {UINTR} (X64).
|
911
|
+
kIdUmonitor, //!< Instruction 'umonitor' {WAITPKG}.
|
912
|
+
kIdUmwait, //!< Instruction 'umwait' {WAITPKG}.
|
913
|
+
kIdUnpckhpd, //!< Instruction 'unpckhpd' {SSE2}.
|
914
|
+
kIdUnpckhps, //!< Instruction 'unpckhps' {SSE}.
|
915
|
+
kIdUnpcklpd, //!< Instruction 'unpcklpd' {SSE2}.
|
916
|
+
kIdUnpcklps, //!< Instruction 'unpcklps' {SSE}.
|
917
|
+
kIdV4fmaddps, //!< Instruction 'v4fmaddps' {AVX512_4FMAPS}.
|
918
|
+
kIdV4fmaddss, //!< Instruction 'v4fmaddss' {AVX512_4FMAPS}.
|
919
|
+
kIdV4fnmaddps, //!< Instruction 'v4fnmaddps' {AVX512_4FMAPS}.
|
920
|
+
kIdV4fnmaddss, //!< Instruction 'v4fnmaddss' {AVX512_4FMAPS}.
|
921
|
+
kIdVaddpd, //!< Instruction 'vaddpd' {AVX|AVX512_F+VL}.
|
922
|
+
kIdVaddph, //!< Instruction 'vaddph' {AVX512_FP16+VL}.
|
923
|
+
kIdVaddps, //!< Instruction 'vaddps' {AVX|AVX512_F+VL}.
|
924
|
+
kIdVaddsd, //!< Instruction 'vaddsd' {AVX|AVX512_F}.
|
925
|
+
kIdVaddsh, //!< Instruction 'vaddsh' {AVX512_FP16}.
|
926
|
+
kIdVaddss, //!< Instruction 'vaddss' {AVX|AVX512_F}.
|
927
|
+
kIdVaddsubpd, //!< Instruction 'vaddsubpd' {AVX}.
|
928
|
+
kIdVaddsubps, //!< Instruction 'vaddsubps' {AVX}.
|
929
|
+
kIdVaesdec, //!< Instruction 'vaesdec' {AVX|AVX512_F+VL & AESNI|VAES}.
|
930
|
+
kIdVaesdeclast, //!< Instruction 'vaesdeclast' {AVX|AVX512_F+VL & AESNI|VAES}.
|
931
|
+
kIdVaesenc, //!< Instruction 'vaesenc' {AVX|AVX512_F+VL & AESNI|VAES}.
|
932
|
+
kIdVaesenclast, //!< Instruction 'vaesenclast' {AVX|AVX512_F+VL & AESNI|VAES}.
|
933
|
+
kIdVaesimc, //!< Instruction 'vaesimc' {AVX & AESNI}.
|
934
|
+
kIdVaeskeygenassist, //!< Instruction 'vaeskeygenassist' {AVX & AESNI}.
|
935
|
+
kIdValignd, //!< Instruction 'valignd' {AVX512_F+VL}.
|
936
|
+
kIdValignq, //!< Instruction 'valignq' {AVX512_F+VL}.
|
937
|
+
kIdVandnpd, //!< Instruction 'vandnpd' {AVX|AVX512_DQ+VL}.
|
938
|
+
kIdVandnps, //!< Instruction 'vandnps' {AVX|AVX512_DQ+VL}.
|
939
|
+
kIdVandpd, //!< Instruction 'vandpd' {AVX|AVX512_DQ+VL}.
|
940
|
+
kIdVandps, //!< Instruction 'vandps' {AVX|AVX512_DQ+VL}.
|
941
|
+
kIdVblendmpd, //!< Instruction 'vblendmpd' {AVX512_F+VL}.
|
942
|
+
kIdVblendmps, //!< Instruction 'vblendmps' {AVX512_F+VL}.
|
943
|
+
kIdVblendpd, //!< Instruction 'vblendpd' {AVX}.
|
944
|
+
kIdVblendps, //!< Instruction 'vblendps' {AVX}.
|
945
|
+
kIdVblendvpd, //!< Instruction 'vblendvpd' {AVX}.
|
946
|
+
kIdVblendvps, //!< Instruction 'vblendvps' {AVX}.
|
947
|
+
kIdVbroadcastf128, //!< Instruction 'vbroadcastf128' {AVX}.
|
948
|
+
kIdVbroadcastf32x2, //!< Instruction 'vbroadcastf32x2' {AVX512_DQ+VL}.
|
949
|
+
kIdVbroadcastf32x4, //!< Instruction 'vbroadcastf32x4' {AVX512_F}.
|
950
|
+
kIdVbroadcastf32x8, //!< Instruction 'vbroadcastf32x8' {AVX512_DQ}.
|
951
|
+
kIdVbroadcastf64x2, //!< Instruction 'vbroadcastf64x2' {AVX512_DQ+VL}.
|
952
|
+
kIdVbroadcastf64x4, //!< Instruction 'vbroadcastf64x4' {AVX512_F}.
|
953
|
+
kIdVbroadcasti128, //!< Instruction 'vbroadcasti128' {AVX2}.
|
954
|
+
kIdVbroadcasti32x2, //!< Instruction 'vbroadcasti32x2' {AVX512_DQ+VL}.
|
955
|
+
kIdVbroadcasti32x4, //!< Instruction 'vbroadcasti32x4' {AVX512_F+VL}.
|
956
|
+
kIdVbroadcasti32x8, //!< Instruction 'vbroadcasti32x8' {AVX512_DQ}.
|
957
|
+
kIdVbroadcasti64x2, //!< Instruction 'vbroadcasti64x2' {AVX512_DQ+VL}.
|
958
|
+
kIdVbroadcasti64x4, //!< Instruction 'vbroadcasti64x4' {AVX512_F}.
|
959
|
+
kIdVbroadcastsd, //!< Instruction 'vbroadcastsd' {AVX|AVX2|AVX512_F+VL}.
|
960
|
+
kIdVbroadcastss, //!< Instruction 'vbroadcastss' {AVX|AVX2|AVX512_F+VL}.
|
961
|
+
kIdVcmppd, //!< Instruction 'vcmppd' {AVX|AVX512_F+VL}.
|
962
|
+
kIdVcmpph, //!< Instruction 'vcmpph' {AVX512_FP16+VL}.
|
963
|
+
kIdVcmpps, //!< Instruction 'vcmpps' {AVX|AVX512_F+VL}.
|
964
|
+
kIdVcmpsd, //!< Instruction 'vcmpsd' {AVX|AVX512_F}.
|
965
|
+
kIdVcmpsh, //!< Instruction 'vcmpsh' {AVX512_FP16}.
|
966
|
+
kIdVcmpss, //!< Instruction 'vcmpss' {AVX|AVX512_F}.
|
967
|
+
kIdVcomisd, //!< Instruction 'vcomisd' {AVX|AVX512_F}.
|
968
|
+
kIdVcomish, //!< Instruction 'vcomish' {AVX512_FP16}.
|
969
|
+
kIdVcomiss, //!< Instruction 'vcomiss' {AVX|AVX512_F}.
|
970
|
+
kIdVcompresspd, //!< Instruction 'vcompresspd' {AVX512_F+VL}.
|
971
|
+
kIdVcompressps, //!< Instruction 'vcompressps' {AVX512_F+VL}.
|
972
|
+
kIdVcvtdq2pd, //!< Instruction 'vcvtdq2pd' {AVX|AVX512_F+VL}.
|
973
|
+
kIdVcvtdq2ph, //!< Instruction 'vcvtdq2ph' {AVX512_FP16+VL}.
|
974
|
+
kIdVcvtdq2ps, //!< Instruction 'vcvtdq2ps' {AVX|AVX512_F+VL}.
|
975
|
+
kIdVcvtne2ps2bf16, //!< Instruction 'vcvtne2ps2bf16' {AVX512_BF16+VL}.
|
976
|
+
kIdVcvtneps2bf16, //!< Instruction 'vcvtneps2bf16' {AVX512_BF16+VL}.
|
977
|
+
kIdVcvtpd2dq, //!< Instruction 'vcvtpd2dq' {AVX|AVX512_F+VL}.
|
978
|
+
kIdVcvtpd2ph, //!< Instruction 'vcvtpd2ph' {AVX512_FP16+VL}.
|
979
|
+
kIdVcvtpd2ps, //!< Instruction 'vcvtpd2ps' {AVX|AVX512_F+VL}.
|
980
|
+
kIdVcvtpd2qq, //!< Instruction 'vcvtpd2qq' {AVX512_DQ+VL}.
|
981
|
+
kIdVcvtpd2udq, //!< Instruction 'vcvtpd2udq' {AVX512_F+VL}.
|
982
|
+
kIdVcvtpd2uqq, //!< Instruction 'vcvtpd2uqq' {AVX512_DQ+VL}.
|
983
|
+
kIdVcvtph2dq, //!< Instruction 'vcvtph2dq' {AVX512_FP16+VL}.
|
984
|
+
kIdVcvtph2pd, //!< Instruction 'vcvtph2pd' {AVX512_FP16+VL}.
|
985
|
+
kIdVcvtph2ps, //!< Instruction 'vcvtph2ps' {AVX512_F+VL & F16C}.
|
986
|
+
kIdVcvtph2psx, //!< Instruction 'vcvtph2psx' {AVX512_FP16+VL}.
|
987
|
+
kIdVcvtph2qq, //!< Instruction 'vcvtph2qq' {AVX512_FP16+VL}.
|
988
|
+
kIdVcvtph2udq, //!< Instruction 'vcvtph2udq' {AVX512_FP16+VL}.
|
989
|
+
kIdVcvtph2uqq, //!< Instruction 'vcvtph2uqq' {AVX512_FP16+VL}.
|
990
|
+
kIdVcvtph2uw, //!< Instruction 'vcvtph2uw' {AVX512_FP16+VL}.
|
991
|
+
kIdVcvtph2w, //!< Instruction 'vcvtph2w' {AVX512_FP16+VL}.
|
992
|
+
kIdVcvtps2dq, //!< Instruction 'vcvtps2dq' {AVX|AVX512_F+VL}.
|
993
|
+
kIdVcvtps2pd, //!< Instruction 'vcvtps2pd' {AVX|AVX512_F+VL}.
|
994
|
+
kIdVcvtps2ph, //!< Instruction 'vcvtps2ph' {AVX512_F+VL & F16C}.
|
995
|
+
kIdVcvtps2phx, //!< Instruction 'vcvtps2phx' {AVX512_FP16+VL}.
|
996
|
+
kIdVcvtps2qq, //!< Instruction 'vcvtps2qq' {AVX512_DQ+VL}.
|
997
|
+
kIdVcvtps2udq, //!< Instruction 'vcvtps2udq' {AVX512_F+VL}.
|
998
|
+
kIdVcvtps2uqq, //!< Instruction 'vcvtps2uqq' {AVX512_DQ+VL}.
|
999
|
+
kIdVcvtqq2pd, //!< Instruction 'vcvtqq2pd' {AVX512_DQ+VL}.
|
1000
|
+
kIdVcvtqq2ph, //!< Instruction 'vcvtqq2ph' {AVX512_FP16+VL}.
|
1001
|
+
kIdVcvtqq2ps, //!< Instruction 'vcvtqq2ps' {AVX512_DQ+VL}.
|
1002
|
+
kIdVcvtsd2sh, //!< Instruction 'vcvtsd2sh' {AVX512_FP16}.
|
1003
|
+
kIdVcvtsd2si, //!< Instruction 'vcvtsd2si' {AVX|AVX512_F}.
|
1004
|
+
kIdVcvtsd2ss, //!< Instruction 'vcvtsd2ss' {AVX|AVX512_F}.
|
1005
|
+
kIdVcvtsd2usi, //!< Instruction 'vcvtsd2usi' {AVX512_F}.
|
1006
|
+
kIdVcvtsh2sd, //!< Instruction 'vcvtsh2sd' {AVX512_FP16}.
|
1007
|
+
kIdVcvtsh2si, //!< Instruction 'vcvtsh2si' {AVX512_FP16}.
|
1008
|
+
kIdVcvtsh2ss, //!< Instruction 'vcvtsh2ss' {AVX512_FP16}.
|
1009
|
+
kIdVcvtsh2usi, //!< Instruction 'vcvtsh2usi' {AVX512_FP16}.
|
1010
|
+
kIdVcvtsi2sd, //!< Instruction 'vcvtsi2sd' {AVX|AVX512_F}.
|
1011
|
+
kIdVcvtsi2sh, //!< Instruction 'vcvtsi2sh' {AVX512_FP16}.
|
1012
|
+
kIdVcvtsi2ss, //!< Instruction 'vcvtsi2ss' {AVX|AVX512_F}.
|
1013
|
+
kIdVcvtss2sd, //!< Instruction 'vcvtss2sd' {AVX|AVX512_F}.
|
1014
|
+
kIdVcvtss2sh, //!< Instruction 'vcvtss2sh' {AVX512_FP16}.
|
1015
|
+
kIdVcvtss2si, //!< Instruction 'vcvtss2si' {AVX|AVX512_F}.
|
1016
|
+
kIdVcvtss2usi, //!< Instruction 'vcvtss2usi' {AVX512_F}.
|
1017
|
+
kIdVcvttpd2dq, //!< Instruction 'vcvttpd2dq' {AVX|AVX512_F+VL}.
|
1018
|
+
kIdVcvttpd2qq, //!< Instruction 'vcvttpd2qq' {AVX512_F+VL}.
|
1019
|
+
kIdVcvttpd2udq, //!< Instruction 'vcvttpd2udq' {AVX512_F+VL}.
|
1020
|
+
kIdVcvttpd2uqq, //!< Instruction 'vcvttpd2uqq' {AVX512_DQ+VL}.
|
1021
|
+
kIdVcvttph2dq, //!< Instruction 'vcvttph2dq' {AVX512_FP16+VL}.
|
1022
|
+
kIdVcvttph2qq, //!< Instruction 'vcvttph2qq' {AVX512_FP16+VL}.
|
1023
|
+
kIdVcvttph2udq, //!< Instruction 'vcvttph2udq' {AVX512_FP16+VL}.
|
1024
|
+
kIdVcvttph2uqq, //!< Instruction 'vcvttph2uqq' {AVX512_FP16+VL}.
|
1025
|
+
kIdVcvttph2uw, //!< Instruction 'vcvttph2uw' {AVX512_FP16+VL}.
|
1026
|
+
kIdVcvttph2w, //!< Instruction 'vcvttph2w' {AVX512_FP16+VL}.
|
1027
|
+
kIdVcvttps2dq, //!< Instruction 'vcvttps2dq' {AVX|AVX512_F+VL}.
|
1028
|
+
kIdVcvttps2qq, //!< Instruction 'vcvttps2qq' {AVX512_DQ+VL}.
|
1029
|
+
kIdVcvttps2udq, //!< Instruction 'vcvttps2udq' {AVX512_F+VL}.
|
1030
|
+
kIdVcvttps2uqq, //!< Instruction 'vcvttps2uqq' {AVX512_DQ+VL}.
|
1031
|
+
kIdVcvttsd2si, //!< Instruction 'vcvttsd2si' {AVX|AVX512_F}.
|
1032
|
+
kIdVcvttsd2usi, //!< Instruction 'vcvttsd2usi' {AVX512_F}.
|
1033
|
+
kIdVcvttsh2si, //!< Instruction 'vcvttsh2si' {AVX512_FP16}.
|
1034
|
+
kIdVcvttsh2usi, //!< Instruction 'vcvttsh2usi' {AVX512_FP16}.
|
1035
|
+
kIdVcvttss2si, //!< Instruction 'vcvttss2si' {AVX|AVX512_F}.
|
1036
|
+
kIdVcvttss2usi, //!< Instruction 'vcvttss2usi' {AVX512_F}.
|
1037
|
+
kIdVcvtudq2pd, //!< Instruction 'vcvtudq2pd' {AVX512_F+VL}.
|
1038
|
+
kIdVcvtudq2ph, //!< Instruction 'vcvtudq2ph' {AVX512_FP16+VL}.
|
1039
|
+
kIdVcvtudq2ps, //!< Instruction 'vcvtudq2ps' {AVX512_F+VL}.
|
1040
|
+
kIdVcvtuqq2pd, //!< Instruction 'vcvtuqq2pd' {AVX512_DQ+VL}.
|
1041
|
+
kIdVcvtuqq2ph, //!< Instruction 'vcvtuqq2ph' {AVX512_FP16+VL}.
|
1042
|
+
kIdVcvtuqq2ps, //!< Instruction 'vcvtuqq2ps' {AVX512_DQ+VL}.
|
1043
|
+
kIdVcvtusi2sd, //!< Instruction 'vcvtusi2sd' {AVX512_F}.
|
1044
|
+
kIdVcvtusi2sh, //!< Instruction 'vcvtusi2sh' {AVX512_FP16}.
|
1045
|
+
kIdVcvtusi2ss, //!< Instruction 'vcvtusi2ss' {AVX512_F}.
|
1046
|
+
kIdVcvtuw2ph, //!< Instruction 'vcvtuw2ph' {AVX512_FP16+VL}.
|
1047
|
+
kIdVcvtw2ph, //!< Instruction 'vcvtw2ph' {AVX512_FP16+VL}.
|
1048
|
+
kIdVdbpsadbw, //!< Instruction 'vdbpsadbw' {AVX512_BW+VL}.
|
1049
|
+
kIdVdivpd, //!< Instruction 'vdivpd' {AVX|AVX512_F+VL}.
|
1050
|
+
kIdVdivph, //!< Instruction 'vdivph' {AVX512_FP16+VL}.
|
1051
|
+
kIdVdivps, //!< Instruction 'vdivps' {AVX|AVX512_F+VL}.
|
1052
|
+
kIdVdivsd, //!< Instruction 'vdivsd' {AVX|AVX512_F}.
|
1053
|
+
kIdVdivsh, //!< Instruction 'vdivsh' {AVX512_FP16}.
|
1054
|
+
kIdVdivss, //!< Instruction 'vdivss' {AVX|AVX512_F}.
|
1055
|
+
kIdVdpbf16ps, //!< Instruction 'vdpbf16ps' {AVX512_BF16+VL}.
|
1056
|
+
kIdVdppd, //!< Instruction 'vdppd' {AVX}.
|
1057
|
+
kIdVdpps, //!< Instruction 'vdpps' {AVX}.
|
1058
|
+
kIdVerr, //!< Instruction 'verr'.
|
1059
|
+
kIdVerw, //!< Instruction 'verw'.
|
1060
|
+
kIdVexp2pd, //!< Instruction 'vexp2pd' {AVX512_ERI}.
|
1061
|
+
kIdVexp2ps, //!< Instruction 'vexp2ps' {AVX512_ERI}.
|
1062
|
+
kIdVexpandpd, //!< Instruction 'vexpandpd' {AVX512_F+VL}.
|
1063
|
+
kIdVexpandps, //!< Instruction 'vexpandps' {AVX512_F+VL}.
|
1064
|
+
kIdVextractf128, //!< Instruction 'vextractf128' {AVX}.
|
1065
|
+
kIdVextractf32x4, //!< Instruction 'vextractf32x4' {AVX512_F+VL}.
|
1066
|
+
kIdVextractf32x8, //!< Instruction 'vextractf32x8' {AVX512_DQ}.
|
1067
|
+
kIdVextractf64x2, //!< Instruction 'vextractf64x2' {AVX512_DQ+VL}.
|
1068
|
+
kIdVextractf64x4, //!< Instruction 'vextractf64x4' {AVX512_F}.
|
1069
|
+
kIdVextracti128, //!< Instruction 'vextracti128' {AVX2}.
|
1070
|
+
kIdVextracti32x4, //!< Instruction 'vextracti32x4' {AVX512_F+VL}.
|
1071
|
+
kIdVextracti32x8, //!< Instruction 'vextracti32x8' {AVX512_DQ}.
|
1072
|
+
kIdVextracti64x2, //!< Instruction 'vextracti64x2' {AVX512_DQ+VL}.
|
1073
|
+
kIdVextracti64x4, //!< Instruction 'vextracti64x4' {AVX512_F}.
|
1074
|
+
kIdVextractps, //!< Instruction 'vextractps' {AVX|AVX512_F}.
|
1075
|
+
kIdVfcmaddcph, //!< Instruction 'vfcmaddcph' {AVX512_FP16+VL}.
|
1076
|
+
kIdVfcmaddcsh, //!< Instruction 'vfcmaddcsh' {AVX512_FP16+VL}.
|
1077
|
+
kIdVfcmulcph, //!< Instruction 'vfcmulcph' {AVX512_FP16+VL}.
|
1078
|
+
kIdVfcmulcsh, //!< Instruction 'vfcmulcsh' {AVX512_FP16+VL}.
|
1079
|
+
kIdVfixupimmpd, //!< Instruction 'vfixupimmpd' {AVX512_F+VL}.
|
1080
|
+
kIdVfixupimmps, //!< Instruction 'vfixupimmps' {AVX512_F+VL}.
|
1081
|
+
kIdVfixupimmsd, //!< Instruction 'vfixupimmsd' {AVX512_F}.
|
1082
|
+
kIdVfixupimmss, //!< Instruction 'vfixupimmss' {AVX512_F}.
|
1083
|
+
kIdVfmadd132pd, //!< Instruction 'vfmadd132pd' {FMA|AVX512_F+VL}.
|
1084
|
+
kIdVfmadd132ph, //!< Instruction 'vfmadd132ph' {AVX512_FP16+VL}.
|
1085
|
+
kIdVfmadd132ps, //!< Instruction 'vfmadd132ps' {FMA|AVX512_F+VL}.
|
1086
|
+
kIdVfmadd132sd, //!< Instruction 'vfmadd132sd' {FMA|AVX512_F}.
|
1087
|
+
kIdVfmadd132sh, //!< Instruction 'vfmadd132sh' {AVX512_FP16}.
|
1088
|
+
kIdVfmadd132ss, //!< Instruction 'vfmadd132ss' {FMA|AVX512_F}.
|
1089
|
+
kIdVfmadd213pd, //!< Instruction 'vfmadd213pd' {FMA|AVX512_F+VL}.
|
1090
|
+
kIdVfmadd213ph, //!< Instruction 'vfmadd213ph' {AVX512_FP16+VL}.
|
1091
|
+
kIdVfmadd213ps, //!< Instruction 'vfmadd213ps' {FMA|AVX512_F+VL}.
|
1092
|
+
kIdVfmadd213sd, //!< Instruction 'vfmadd213sd' {FMA|AVX512_F}.
|
1093
|
+
kIdVfmadd213sh, //!< Instruction 'vfmadd213sh' {AVX512_FP16}.
|
1094
|
+
kIdVfmadd213ss, //!< Instruction 'vfmadd213ss' {FMA|AVX512_F}.
|
1095
|
+
kIdVfmadd231pd, //!< Instruction 'vfmadd231pd' {FMA|AVX512_F+VL}.
|
1096
|
+
kIdVfmadd231ph, //!< Instruction 'vfmadd231ph' {AVX512_FP16+VL}.
|
1097
|
+
kIdVfmadd231ps, //!< Instruction 'vfmadd231ps' {FMA|AVX512_F+VL}.
|
1098
|
+
kIdVfmadd231sd, //!< Instruction 'vfmadd231sd' {FMA|AVX512_F}.
|
1099
|
+
kIdVfmadd231sh, //!< Instruction 'vfmadd231sh' {AVX512_FP16}.
|
1100
|
+
kIdVfmadd231ss, //!< Instruction 'vfmadd231ss' {FMA|AVX512_F}.
|
1101
|
+
kIdVfmaddcph, //!< Instruction 'vfmaddcph' {AVX512_FP16+VL}.
|
1102
|
+
kIdVfmaddcsh, //!< Instruction 'vfmaddcsh' {AVX512_FP16+VL}.
|
1103
|
+
kIdVfmaddpd, //!< Instruction 'vfmaddpd' {FMA4}.
|
1104
|
+
kIdVfmaddps, //!< Instruction 'vfmaddps' {FMA4}.
|
1105
|
+
kIdVfmaddsd, //!< Instruction 'vfmaddsd' {FMA4}.
|
1106
|
+
kIdVfmaddss, //!< Instruction 'vfmaddss' {FMA4}.
|
1107
|
+
kIdVfmaddsub132pd, //!< Instruction 'vfmaddsub132pd' {FMA|AVX512_F+VL}.
|
1108
|
+
kIdVfmaddsub132ph, //!< Instruction 'vfmaddsub132ph' {AVX512_FP16+VL}.
|
1109
|
+
kIdVfmaddsub132ps, //!< Instruction 'vfmaddsub132ps' {FMA|AVX512_F+VL}.
|
1110
|
+
kIdVfmaddsub213pd, //!< Instruction 'vfmaddsub213pd' {FMA|AVX512_F+VL}.
|
1111
|
+
kIdVfmaddsub213ph, //!< Instruction 'vfmaddsub213ph' {AVX512_FP16+VL}.
|
1112
|
+
kIdVfmaddsub213ps, //!< Instruction 'vfmaddsub213ps' {FMA|AVX512_F+VL}.
|
1113
|
+
kIdVfmaddsub231pd, //!< Instruction 'vfmaddsub231pd' {FMA|AVX512_F+VL}.
|
1114
|
+
kIdVfmaddsub231ph, //!< Instruction 'vfmaddsub231ph' {AVX512_FP16+VL}.
|
1115
|
+
kIdVfmaddsub231ps, //!< Instruction 'vfmaddsub231ps' {FMA|AVX512_F+VL}.
|
1116
|
+
kIdVfmaddsubpd, //!< Instruction 'vfmaddsubpd' {FMA4}.
|
1117
|
+
kIdVfmaddsubps, //!< Instruction 'vfmaddsubps' {FMA4}.
|
1118
|
+
kIdVfmsub132pd, //!< Instruction 'vfmsub132pd' {FMA|AVX512_F+VL}.
|
1119
|
+
kIdVfmsub132ph, //!< Instruction 'vfmsub132ph' {AVX512_FP16+VL}.
|
1120
|
+
kIdVfmsub132ps, //!< Instruction 'vfmsub132ps' {FMA|AVX512_F+VL}.
|
1121
|
+
kIdVfmsub132sd, //!< Instruction 'vfmsub132sd' {FMA|AVX512_F}.
|
1122
|
+
kIdVfmsub132sh, //!< Instruction 'vfmsub132sh' {AVX512_FP16}.
|
1123
|
+
kIdVfmsub132ss, //!< Instruction 'vfmsub132ss' {FMA|AVX512_F}.
|
1124
|
+
kIdVfmsub213pd, //!< Instruction 'vfmsub213pd' {FMA|AVX512_F+VL}.
|
1125
|
+
kIdVfmsub213ph, //!< Instruction 'vfmsub213ph' {AVX512_FP16+VL}.
|
1126
|
+
kIdVfmsub213ps, //!< Instruction 'vfmsub213ps' {FMA|AVX512_F+VL}.
|
1127
|
+
kIdVfmsub213sd, //!< Instruction 'vfmsub213sd' {FMA|AVX512_F}.
|
1128
|
+
kIdVfmsub213sh, //!< Instruction 'vfmsub213sh' {AVX512_FP16}.
|
1129
|
+
kIdVfmsub213ss, //!< Instruction 'vfmsub213ss' {FMA|AVX512_F}.
|
1130
|
+
kIdVfmsub231pd, //!< Instruction 'vfmsub231pd' {FMA|AVX512_F+VL}.
|
1131
|
+
kIdVfmsub231ph, //!< Instruction 'vfmsub231ph' {AVX512_FP16+VL}.
|
1132
|
+
kIdVfmsub231ps, //!< Instruction 'vfmsub231ps' {FMA|AVX512_F+VL}.
|
1133
|
+
kIdVfmsub231sd, //!< Instruction 'vfmsub231sd' {FMA|AVX512_F}.
|
1134
|
+
kIdVfmsub231sh, //!< Instruction 'vfmsub231sh' {AVX512_FP16}.
|
1135
|
+
kIdVfmsub231ss, //!< Instruction 'vfmsub231ss' {FMA|AVX512_F}.
|
1136
|
+
kIdVfmsubadd132pd, //!< Instruction 'vfmsubadd132pd' {FMA|AVX512_F+VL}.
|
1137
|
+
kIdVfmsubadd132ph, //!< Instruction 'vfmsubadd132ph' {AVX512_FP16+VL}.
|
1138
|
+
kIdVfmsubadd132ps, //!< Instruction 'vfmsubadd132ps' {FMA|AVX512_F+VL}.
|
1139
|
+
kIdVfmsubadd213pd, //!< Instruction 'vfmsubadd213pd' {FMA|AVX512_F+VL}.
|
1140
|
+
kIdVfmsubadd213ph, //!< Instruction 'vfmsubadd213ph' {AVX512_FP16+VL}.
|
1141
|
+
kIdVfmsubadd213ps, //!< Instruction 'vfmsubadd213ps' {FMA|AVX512_F+VL}.
|
1142
|
+
kIdVfmsubadd231pd, //!< Instruction 'vfmsubadd231pd' {FMA|AVX512_F+VL}.
|
1143
|
+
kIdVfmsubadd231ph, //!< Instruction 'vfmsubadd231ph' {AVX512_FP16+VL}.
|
1144
|
+
kIdVfmsubadd231ps, //!< Instruction 'vfmsubadd231ps' {FMA|AVX512_F+VL}.
|
1145
|
+
kIdVfmsubaddpd, //!< Instruction 'vfmsubaddpd' {FMA4}.
|
1146
|
+
kIdVfmsubaddps, //!< Instruction 'vfmsubaddps' {FMA4}.
|
1147
|
+
kIdVfmsubpd, //!< Instruction 'vfmsubpd' {FMA4}.
|
1148
|
+
kIdVfmsubps, //!< Instruction 'vfmsubps' {FMA4}.
|
1149
|
+
kIdVfmsubsd, //!< Instruction 'vfmsubsd' {FMA4}.
|
1150
|
+
kIdVfmsubss, //!< Instruction 'vfmsubss' {FMA4}.
|
1151
|
+
kIdVfmulcph, //!< Instruction 'vfmulcph' {AVX512_FP16+VL}.
|
1152
|
+
kIdVfmulcsh, //!< Instruction 'vfmulcsh' {AVX512_FP16+VL}.
|
1153
|
+
kIdVfnmadd132pd, //!< Instruction 'vfnmadd132pd' {FMA|AVX512_F+VL}.
|
1154
|
+
kIdVfnmadd132ph, //!< Instruction 'vfnmadd132ph' {AVX512_FP16+VL}.
|
1155
|
+
kIdVfnmadd132ps, //!< Instruction 'vfnmadd132ps' {FMA|AVX512_F+VL}.
|
1156
|
+
kIdVfnmadd132sd, //!< Instruction 'vfnmadd132sd' {FMA|AVX512_F}.
|
1157
|
+
kIdVfnmadd132sh, //!< Instruction 'vfnmadd132sh' {AVX512_FP16}.
|
1158
|
+
kIdVfnmadd132ss, //!< Instruction 'vfnmadd132ss' {FMA|AVX512_F}.
|
1159
|
+
kIdVfnmadd213pd, //!< Instruction 'vfnmadd213pd' {FMA|AVX512_F+VL}.
|
1160
|
+
kIdVfnmadd213ph, //!< Instruction 'vfnmadd213ph' {AVX512_FP16+VL}.
|
1161
|
+
kIdVfnmadd213ps, //!< Instruction 'vfnmadd213ps' {FMA|AVX512_F+VL}.
|
1162
|
+
kIdVfnmadd213sd, //!< Instruction 'vfnmadd213sd' {FMA|AVX512_F}.
|
1163
|
+
kIdVfnmadd213sh, //!< Instruction 'vfnmadd213sh' {AVX512_FP16}.
|
1164
|
+
kIdVfnmadd213ss, //!< Instruction 'vfnmadd213ss' {FMA|AVX512_F}.
|
1165
|
+
kIdVfnmadd231pd, //!< Instruction 'vfnmadd231pd' {FMA|AVX512_F+VL}.
|
1166
|
+
kIdVfnmadd231ph, //!< Instruction 'vfnmadd231ph' {AVX512_FP16+VL}.
|
1167
|
+
kIdVfnmadd231ps, //!< Instruction 'vfnmadd231ps' {FMA|AVX512_F+VL}.
|
1168
|
+
kIdVfnmadd231sd, //!< Instruction 'vfnmadd231sd' {FMA|AVX512_F}.
|
1169
|
+
kIdVfnmadd231sh, //!< Instruction 'vfnmadd231sh' {AVX512_FP16}.
|
1170
|
+
kIdVfnmadd231ss, //!< Instruction 'vfnmadd231ss' {FMA|AVX512_F}.
|
1171
|
+
kIdVfnmaddpd, //!< Instruction 'vfnmaddpd' {FMA4}.
|
1172
|
+
kIdVfnmaddps, //!< Instruction 'vfnmaddps' {FMA4}.
|
1173
|
+
kIdVfnmaddsd, //!< Instruction 'vfnmaddsd' {FMA4}.
|
1174
|
+
kIdVfnmaddss, //!< Instruction 'vfnmaddss' {FMA4}.
|
1175
|
+
kIdVfnmsub132pd, //!< Instruction 'vfnmsub132pd' {FMA|AVX512_F+VL}.
|
1176
|
+
kIdVfnmsub132ph, //!< Instruction 'vfnmsub132ph' {AVX512_FP16+VL}.
|
1177
|
+
kIdVfnmsub132ps, //!< Instruction 'vfnmsub132ps' {FMA|AVX512_F+VL}.
|
1178
|
+
kIdVfnmsub132sd, //!< Instruction 'vfnmsub132sd' {FMA|AVX512_F}.
|
1179
|
+
kIdVfnmsub132sh, //!< Instruction 'vfnmsub132sh' {AVX512_FP16}.
|
1180
|
+
kIdVfnmsub132ss, //!< Instruction 'vfnmsub132ss' {FMA|AVX512_F}.
|
1181
|
+
kIdVfnmsub213pd, //!< Instruction 'vfnmsub213pd' {FMA|AVX512_F+VL}.
|
1182
|
+
kIdVfnmsub213ph, //!< Instruction 'vfnmsub213ph' {AVX512_FP16+VL}.
|
1183
|
+
kIdVfnmsub213ps, //!< Instruction 'vfnmsub213ps' {FMA|AVX512_F+VL}.
|
1184
|
+
kIdVfnmsub213sd, //!< Instruction 'vfnmsub213sd' {FMA|AVX512_F}.
|
1185
|
+
kIdVfnmsub213sh, //!< Instruction 'vfnmsub213sh' {AVX512_FP16}.
|
1186
|
+
kIdVfnmsub213ss, //!< Instruction 'vfnmsub213ss' {FMA|AVX512_F}.
|
1187
|
+
kIdVfnmsub231pd, //!< Instruction 'vfnmsub231pd' {FMA|AVX512_F+VL}.
|
1188
|
+
kIdVfnmsub231ph, //!< Instruction 'vfnmsub231ph' {AVX512_FP16+VL}.
|
1189
|
+
kIdVfnmsub231ps, //!< Instruction 'vfnmsub231ps' {FMA|AVX512_F+VL}.
|
1190
|
+
kIdVfnmsub231sd, //!< Instruction 'vfnmsub231sd' {FMA|AVX512_F}.
|
1191
|
+
kIdVfnmsub231sh, //!< Instruction 'vfnmsub231sh' {AVX512_FP16}.
|
1192
|
+
kIdVfnmsub231ss, //!< Instruction 'vfnmsub231ss' {FMA|AVX512_F}.
|
1193
|
+
kIdVfnmsubpd, //!< Instruction 'vfnmsubpd' {FMA4}.
|
1194
|
+
kIdVfnmsubps, //!< Instruction 'vfnmsubps' {FMA4}.
|
1195
|
+
kIdVfnmsubsd, //!< Instruction 'vfnmsubsd' {FMA4}.
|
1196
|
+
kIdVfnmsubss, //!< Instruction 'vfnmsubss' {FMA4}.
|
1197
|
+
kIdVfpclasspd, //!< Instruction 'vfpclasspd' {AVX512_DQ+VL}.
|
1198
|
+
kIdVfpclassph, //!< Instruction 'vfpclassph' {AVX512_FP16+VL}.
|
1199
|
+
kIdVfpclassps, //!< Instruction 'vfpclassps' {AVX512_DQ+VL}.
|
1200
|
+
kIdVfpclasssd, //!< Instruction 'vfpclasssd' {AVX512_DQ}.
|
1201
|
+
kIdVfpclasssh, //!< Instruction 'vfpclasssh' {AVX512_FP16}.
|
1202
|
+
kIdVfpclassss, //!< Instruction 'vfpclassss' {AVX512_DQ}.
|
1203
|
+
kIdVfrczpd, //!< Instruction 'vfrczpd' {XOP}.
|
1204
|
+
kIdVfrczps, //!< Instruction 'vfrczps' {XOP}.
|
1205
|
+
kIdVfrczsd, //!< Instruction 'vfrczsd' {XOP}.
|
1206
|
+
kIdVfrczss, //!< Instruction 'vfrczss' {XOP}.
|
1207
|
+
kIdVgatherdpd, //!< Instruction 'vgatherdpd' {AVX2|AVX512_F+VL}.
|
1208
|
+
kIdVgatherdps, //!< Instruction 'vgatherdps' {AVX2|AVX512_F+VL}.
|
1209
|
+
kIdVgatherpf0dpd, //!< Instruction 'vgatherpf0dpd' {AVX512_PFI}.
|
1210
|
+
kIdVgatherpf0dps, //!< Instruction 'vgatherpf0dps' {AVX512_PFI}.
|
1211
|
+
kIdVgatherpf0qpd, //!< Instruction 'vgatherpf0qpd' {AVX512_PFI}.
|
1212
|
+
kIdVgatherpf0qps, //!< Instruction 'vgatherpf0qps' {AVX512_PFI}.
|
1213
|
+
kIdVgatherpf1dpd, //!< Instruction 'vgatherpf1dpd' {AVX512_PFI}.
|
1214
|
+
kIdVgatherpf1dps, //!< Instruction 'vgatherpf1dps' {AVX512_PFI}.
|
1215
|
+
kIdVgatherpf1qpd, //!< Instruction 'vgatherpf1qpd' {AVX512_PFI}.
|
1216
|
+
kIdVgatherpf1qps, //!< Instruction 'vgatherpf1qps' {AVX512_PFI}.
|
1217
|
+
kIdVgatherqpd, //!< Instruction 'vgatherqpd' {AVX2|AVX512_F+VL}.
|
1218
|
+
kIdVgatherqps, //!< Instruction 'vgatherqps' {AVX2|AVX512_F+VL}.
|
1219
|
+
kIdVgetexppd, //!< Instruction 'vgetexppd' {AVX512_F+VL}.
|
1220
|
+
kIdVgetexpph, //!< Instruction 'vgetexpph' {AVX512_FP16+VL}.
|
1221
|
+
kIdVgetexpps, //!< Instruction 'vgetexpps' {AVX512_F+VL}.
|
1222
|
+
kIdVgetexpsd, //!< Instruction 'vgetexpsd' {AVX512_F}.
|
1223
|
+
kIdVgetexpsh, //!< Instruction 'vgetexpsh' {AVX512_FP16}.
|
1224
|
+
kIdVgetexpss, //!< Instruction 'vgetexpss' {AVX512_F}.
|
1225
|
+
kIdVgetmantpd, //!< Instruction 'vgetmantpd' {AVX512_F+VL}.
|
1226
|
+
kIdVgetmantph, //!< Instruction 'vgetmantph' {AVX512_FP16+VL}.
|
1227
|
+
kIdVgetmantps, //!< Instruction 'vgetmantps' {AVX512_F+VL}.
|
1228
|
+
kIdVgetmantsd, //!< Instruction 'vgetmantsd' {AVX512_F}.
|
1229
|
+
kIdVgetmantsh, //!< Instruction 'vgetmantsh' {AVX512_FP16}.
|
1230
|
+
kIdVgetmantss, //!< Instruction 'vgetmantss' {AVX512_F}.
|
1231
|
+
kIdVgf2p8affineinvqb, //!< Instruction 'vgf2p8affineinvqb' {AVX|AVX512_F+VL & GFNI}.
|
1232
|
+
kIdVgf2p8affineqb, //!< Instruction 'vgf2p8affineqb' {AVX|AVX512_F+VL & GFNI}.
|
1233
|
+
kIdVgf2p8mulb, //!< Instruction 'vgf2p8mulb' {AVX|AVX512_F+VL & GFNI}.
|
1234
|
+
kIdVhaddpd, //!< Instruction 'vhaddpd' {AVX}.
|
1235
|
+
kIdVhaddps, //!< Instruction 'vhaddps' {AVX}.
|
1236
|
+
kIdVhsubpd, //!< Instruction 'vhsubpd' {AVX}.
|
1237
|
+
kIdVhsubps, //!< Instruction 'vhsubps' {AVX}.
|
1238
|
+
kIdVinsertf128, //!< Instruction 'vinsertf128' {AVX}.
|
1239
|
+
kIdVinsertf32x4, //!< Instruction 'vinsertf32x4' {AVX512_F+VL}.
|
1240
|
+
kIdVinsertf32x8, //!< Instruction 'vinsertf32x8' {AVX512_DQ}.
|
1241
|
+
kIdVinsertf64x2, //!< Instruction 'vinsertf64x2' {AVX512_DQ+VL}.
|
1242
|
+
kIdVinsertf64x4, //!< Instruction 'vinsertf64x4' {AVX512_F}.
|
1243
|
+
kIdVinserti128, //!< Instruction 'vinserti128' {AVX2}.
|
1244
|
+
kIdVinserti32x4, //!< Instruction 'vinserti32x4' {AVX512_F+VL}.
|
1245
|
+
kIdVinserti32x8, //!< Instruction 'vinserti32x8' {AVX512_DQ}.
|
1246
|
+
kIdVinserti64x2, //!< Instruction 'vinserti64x2' {AVX512_DQ+VL}.
|
1247
|
+
kIdVinserti64x4, //!< Instruction 'vinserti64x4' {AVX512_F}.
|
1248
|
+
kIdVinsertps, //!< Instruction 'vinsertps' {AVX|AVX512_F}.
|
1249
|
+
kIdVlddqu, //!< Instruction 'vlddqu' {AVX}.
|
1250
|
+
kIdVldmxcsr, //!< Instruction 'vldmxcsr' {AVX}.
|
1251
|
+
kIdVmaskmovdqu, //!< Instruction 'vmaskmovdqu' {AVX}.
|
1252
|
+
kIdVmaskmovpd, //!< Instruction 'vmaskmovpd' {AVX}.
|
1253
|
+
kIdVmaskmovps, //!< Instruction 'vmaskmovps' {AVX}.
|
1254
|
+
kIdVmaxpd, //!< Instruction 'vmaxpd' {AVX|AVX512_F+VL}.
|
1255
|
+
kIdVmaxph, //!< Instruction 'vmaxph' {AVX512_FP16+VL}.
|
1256
|
+
kIdVmaxps, //!< Instruction 'vmaxps' {AVX|AVX512_F+VL}.
|
1257
|
+
kIdVmaxsd, //!< Instruction 'vmaxsd' {AVX|AVX512_F+VL}.
|
1258
|
+
kIdVmaxsh, //!< Instruction 'vmaxsh' {AVX512_FP16}.
|
1259
|
+
kIdVmaxss, //!< Instruction 'vmaxss' {AVX|AVX512_F+VL}.
|
1260
|
+
kIdVmcall, //!< Instruction 'vmcall' {VMX}.
|
1261
|
+
kIdVmclear, //!< Instruction 'vmclear' {VMX}.
|
1262
|
+
kIdVmfunc, //!< Instruction 'vmfunc' {VMX}.
|
1263
|
+
kIdVminpd, //!< Instruction 'vminpd' {AVX|AVX512_F+VL}.
|
1264
|
+
kIdVminph, //!< Instruction 'vminph' {AVX512_FP16+VL}.
|
1265
|
+
kIdVminps, //!< Instruction 'vminps' {AVX|AVX512_F+VL}.
|
1266
|
+
kIdVminsd, //!< Instruction 'vminsd' {AVX|AVX512_F+VL}.
|
1267
|
+
kIdVminsh, //!< Instruction 'vminsh' {AVX512_FP16}.
|
1268
|
+
kIdVminss, //!< Instruction 'vminss' {AVX|AVX512_F+VL}.
|
1269
|
+
kIdVmlaunch, //!< Instruction 'vmlaunch' {VMX}.
|
1270
|
+
kIdVmload, //!< Instruction 'vmload' {SVM}.
|
1271
|
+
kIdVmmcall, //!< Instruction 'vmmcall' {SVM}.
|
1272
|
+
kIdVmovapd, //!< Instruction 'vmovapd' {AVX|AVX512_F+VL}.
|
1273
|
+
kIdVmovaps, //!< Instruction 'vmovaps' {AVX|AVX512_F+VL}.
|
1274
|
+
kIdVmovd, //!< Instruction 'vmovd' {AVX|AVX512_F}.
|
1275
|
+
kIdVmovddup, //!< Instruction 'vmovddup' {AVX|AVX512_F+VL}.
|
1276
|
+
kIdVmovdqa, //!< Instruction 'vmovdqa' {AVX}.
|
1277
|
+
kIdVmovdqa32, //!< Instruction 'vmovdqa32' {AVX512_F+VL}.
|
1278
|
+
kIdVmovdqa64, //!< Instruction 'vmovdqa64' {AVX512_F+VL}.
|
1279
|
+
kIdVmovdqu, //!< Instruction 'vmovdqu' {AVX}.
|
1280
|
+
kIdVmovdqu16, //!< Instruction 'vmovdqu16' {AVX512_BW+VL}.
|
1281
|
+
kIdVmovdqu32, //!< Instruction 'vmovdqu32' {AVX512_F+VL}.
|
1282
|
+
kIdVmovdqu64, //!< Instruction 'vmovdqu64' {AVX512_F+VL}.
|
1283
|
+
kIdVmovdqu8, //!< Instruction 'vmovdqu8' {AVX512_BW+VL}.
|
1284
|
+
kIdVmovhlps, //!< Instruction 'vmovhlps' {AVX|AVX512_F}.
|
1285
|
+
kIdVmovhpd, //!< Instruction 'vmovhpd' {AVX|AVX512_F}.
|
1286
|
+
kIdVmovhps, //!< Instruction 'vmovhps' {AVX|AVX512_F}.
|
1287
|
+
kIdVmovlhps, //!< Instruction 'vmovlhps' {AVX|AVX512_F}.
|
1288
|
+
kIdVmovlpd, //!< Instruction 'vmovlpd' {AVX|AVX512_F}.
|
1289
|
+
kIdVmovlps, //!< Instruction 'vmovlps' {AVX|AVX512_F}.
|
1290
|
+
kIdVmovmskpd, //!< Instruction 'vmovmskpd' {AVX}.
|
1291
|
+
kIdVmovmskps, //!< Instruction 'vmovmskps' {AVX}.
|
1292
|
+
kIdVmovntdq, //!< Instruction 'vmovntdq' {AVX|AVX512_F+VL}.
|
1293
|
+
kIdVmovntdqa, //!< Instruction 'vmovntdqa' {AVX|AVX2|AVX512_F+VL}.
|
1294
|
+
kIdVmovntpd, //!< Instruction 'vmovntpd' {AVX|AVX512_F+VL}.
|
1295
|
+
kIdVmovntps, //!< Instruction 'vmovntps' {AVX|AVX512_F+VL}.
|
1296
|
+
kIdVmovq, //!< Instruction 'vmovq' {AVX|AVX512_F}.
|
1297
|
+
kIdVmovsd, //!< Instruction 'vmovsd' {AVX|AVX512_F}.
|
1298
|
+
kIdVmovsh, //!< Instruction 'vmovsh' {AVX512_FP16}.
|
1299
|
+
kIdVmovshdup, //!< Instruction 'vmovshdup' {AVX|AVX512_F+VL}.
|
1300
|
+
kIdVmovsldup, //!< Instruction 'vmovsldup' {AVX|AVX512_F+VL}.
|
1301
|
+
kIdVmovss, //!< Instruction 'vmovss' {AVX|AVX512_F}.
|
1302
|
+
kIdVmovupd, //!< Instruction 'vmovupd' {AVX|AVX512_F+VL}.
|
1303
|
+
kIdVmovups, //!< Instruction 'vmovups' {AVX|AVX512_F+VL}.
|
1304
|
+
kIdVmovw, //!< Instruction 'vmovw' {AVX512_FP16}.
|
1305
|
+
kIdVmpsadbw, //!< Instruction 'vmpsadbw' {AVX|AVX2}.
|
1306
|
+
kIdVmptrld, //!< Instruction 'vmptrld' {VMX}.
|
1307
|
+
kIdVmptrst, //!< Instruction 'vmptrst' {VMX}.
|
1308
|
+
kIdVmread, //!< Instruction 'vmread' {VMX}.
|
1309
|
+
kIdVmresume, //!< Instruction 'vmresume' {VMX}.
|
1310
|
+
kIdVmrun, //!< Instruction 'vmrun' {SVM}.
|
1311
|
+
kIdVmsave, //!< Instruction 'vmsave' {SVM}.
|
1312
|
+
kIdVmulpd, //!< Instruction 'vmulpd' {AVX|AVX512_F+VL}.
|
1313
|
+
kIdVmulph, //!< Instruction 'vmulph' {AVX512_FP16+VL}.
|
1314
|
+
kIdVmulps, //!< Instruction 'vmulps' {AVX|AVX512_F+VL}.
|
1315
|
+
kIdVmulsd, //!< Instruction 'vmulsd' {AVX|AVX512_F}.
|
1316
|
+
kIdVmulsh, //!< Instruction 'vmulsh' {AVX512_FP16}.
|
1317
|
+
kIdVmulss, //!< Instruction 'vmulss' {AVX|AVX512_F}.
|
1318
|
+
kIdVmwrite, //!< Instruction 'vmwrite' {VMX}.
|
1319
|
+
kIdVmxon, //!< Instruction 'vmxon' {VMX}.
|
1320
|
+
kIdVorpd, //!< Instruction 'vorpd' {AVX|AVX512_DQ+VL}.
|
1321
|
+
kIdVorps, //!< Instruction 'vorps' {AVX|AVX512_DQ+VL}.
|
1322
|
+
kIdVp2intersectd, //!< Instruction 'vp2intersectd' {AVX512_VP2INTERSECT}.
|
1323
|
+
kIdVp2intersectq, //!< Instruction 'vp2intersectq' {AVX512_VP2INTERSECT}.
|
1324
|
+
kIdVp4dpwssd, //!< Instruction 'vp4dpwssd' {AVX512_4VNNIW}.
|
1325
|
+
kIdVp4dpwssds, //!< Instruction 'vp4dpwssds' {AVX512_4VNNIW}.
|
1326
|
+
kIdVpabsb, //!< Instruction 'vpabsb' {AVX|AVX2|AVX512_BW+VL}.
|
1327
|
+
kIdVpabsd, //!< Instruction 'vpabsd' {AVX|AVX2|AVX512_F+VL}.
|
1328
|
+
kIdVpabsq, //!< Instruction 'vpabsq' {AVX512_F+VL}.
|
1329
|
+
kIdVpabsw, //!< Instruction 'vpabsw' {AVX|AVX2|AVX512_BW+VL}.
|
1330
|
+
kIdVpackssdw, //!< Instruction 'vpackssdw' {AVX|AVX2|AVX512_BW+VL}.
|
1331
|
+
kIdVpacksswb, //!< Instruction 'vpacksswb' {AVX|AVX2|AVX512_BW+VL}.
|
1332
|
+
kIdVpackusdw, //!< Instruction 'vpackusdw' {AVX|AVX2|AVX512_BW+VL}.
|
1333
|
+
kIdVpackuswb, //!< Instruction 'vpackuswb' {AVX|AVX2|AVX512_BW+VL}.
|
1334
|
+
kIdVpaddb, //!< Instruction 'vpaddb' {AVX|AVX2|AVX512_BW+VL}.
|
1335
|
+
kIdVpaddd, //!< Instruction 'vpaddd' {AVX|AVX2|AVX512_F+VL}.
|
1336
|
+
kIdVpaddq, //!< Instruction 'vpaddq' {AVX|AVX2|AVX512_F+VL}.
|
1337
|
+
kIdVpaddsb, //!< Instruction 'vpaddsb' {AVX|AVX2|AVX512_BW+VL}.
|
1338
|
+
kIdVpaddsw, //!< Instruction 'vpaddsw' {AVX|AVX2|AVX512_BW+VL}.
|
1339
|
+
kIdVpaddusb, //!< Instruction 'vpaddusb' {AVX|AVX2|AVX512_BW+VL}.
|
1340
|
+
kIdVpaddusw, //!< Instruction 'vpaddusw' {AVX|AVX2|AVX512_BW+VL}.
|
1341
|
+
kIdVpaddw, //!< Instruction 'vpaddw' {AVX|AVX2|AVX512_BW+VL}.
|
1342
|
+
kIdVpalignr, //!< Instruction 'vpalignr' {AVX|AVX2|AVX512_BW+VL}.
|
1343
|
+
kIdVpand, //!< Instruction 'vpand' {AVX|AVX2}.
|
1344
|
+
kIdVpandd, //!< Instruction 'vpandd' {AVX512_F+VL}.
|
1345
|
+
kIdVpandn, //!< Instruction 'vpandn' {AVX|AVX2}.
|
1346
|
+
kIdVpandnd, //!< Instruction 'vpandnd' {AVX512_F+VL}.
|
1347
|
+
kIdVpandnq, //!< Instruction 'vpandnq' {AVX512_F+VL}.
|
1348
|
+
kIdVpandq, //!< Instruction 'vpandq' {AVX512_F+VL}.
|
1349
|
+
kIdVpavgb, //!< Instruction 'vpavgb' {AVX|AVX2|AVX512_BW+VL}.
|
1350
|
+
kIdVpavgw, //!< Instruction 'vpavgw' {AVX|AVX2|AVX512_BW+VL}.
|
1351
|
+
kIdVpblendd, //!< Instruction 'vpblendd' {AVX2}.
|
1352
|
+
kIdVpblendmb, //!< Instruction 'vpblendmb' {AVX512_BW+VL}.
|
1353
|
+
kIdVpblendmd, //!< Instruction 'vpblendmd' {AVX512_F+VL}.
|
1354
|
+
kIdVpblendmq, //!< Instruction 'vpblendmq' {AVX512_F+VL}.
|
1355
|
+
kIdVpblendmw, //!< Instruction 'vpblendmw' {AVX512_BW+VL}.
|
1356
|
+
kIdVpblendvb, //!< Instruction 'vpblendvb' {AVX|AVX2}.
|
1357
|
+
kIdVpblendw, //!< Instruction 'vpblendw' {AVX|AVX2}.
|
1358
|
+
kIdVpbroadcastb, //!< Instruction 'vpbroadcastb' {AVX2|AVX512_BW+VL}.
|
1359
|
+
kIdVpbroadcastd, //!< Instruction 'vpbroadcastd' {AVX2|AVX512_F+VL}.
|
1360
|
+
kIdVpbroadcastmb2q, //!< Instruction 'vpbroadcastmb2q' {AVX512_CDI+VL}.
|
1361
|
+
kIdVpbroadcastmw2d, //!< Instruction 'vpbroadcastmw2d' {AVX512_CDI+VL}.
|
1362
|
+
kIdVpbroadcastq, //!< Instruction 'vpbroadcastq' {AVX2|AVX512_F+VL}.
|
1363
|
+
kIdVpbroadcastw, //!< Instruction 'vpbroadcastw' {AVX2|AVX512_BW+VL}.
|
1364
|
+
kIdVpclmulqdq, //!< Instruction 'vpclmulqdq' {AVX|AVX512_F+VL & PCLMULQDQ|VPCLMULQDQ}.
|
1365
|
+
kIdVpcmov, //!< Instruction 'vpcmov' {XOP}.
|
1366
|
+
kIdVpcmpb, //!< Instruction 'vpcmpb' {AVX512_BW+VL}.
|
1367
|
+
kIdVpcmpd, //!< Instruction 'vpcmpd' {AVX512_F+VL}.
|
1368
|
+
kIdVpcmpeqb, //!< Instruction 'vpcmpeqb' {AVX|AVX2|AVX512_BW+VL}.
|
1369
|
+
kIdVpcmpeqd, //!< Instruction 'vpcmpeqd' {AVX|AVX2|AVX512_F+VL}.
|
1370
|
+
kIdVpcmpeqq, //!< Instruction 'vpcmpeqq' {AVX|AVX2|AVX512_F+VL}.
|
1371
|
+
kIdVpcmpeqw, //!< Instruction 'vpcmpeqw' {AVX|AVX2|AVX512_BW+VL}.
|
1372
|
+
kIdVpcmpestri, //!< Instruction 'vpcmpestri' {AVX}.
|
1373
|
+
kIdVpcmpestrm, //!< Instruction 'vpcmpestrm' {AVX}.
|
1374
|
+
kIdVpcmpgtb, //!< Instruction 'vpcmpgtb' {AVX|AVX2|AVX512_BW+VL}.
|
1375
|
+
kIdVpcmpgtd, //!< Instruction 'vpcmpgtd' {AVX|AVX2|AVX512_F+VL}.
|
1376
|
+
kIdVpcmpgtq, //!< Instruction 'vpcmpgtq' {AVX|AVX2|AVX512_F+VL}.
|
1377
|
+
kIdVpcmpgtw, //!< Instruction 'vpcmpgtw' {AVX|AVX2|AVX512_BW+VL}.
|
1378
|
+
kIdVpcmpistri, //!< Instruction 'vpcmpistri' {AVX}.
|
1379
|
+
kIdVpcmpistrm, //!< Instruction 'vpcmpistrm' {AVX}.
|
1380
|
+
kIdVpcmpq, //!< Instruction 'vpcmpq' {AVX512_F+VL}.
|
1381
|
+
kIdVpcmpub, //!< Instruction 'vpcmpub' {AVX512_BW+VL}.
|
1382
|
+
kIdVpcmpud, //!< Instruction 'vpcmpud' {AVX512_F+VL}.
|
1383
|
+
kIdVpcmpuq, //!< Instruction 'vpcmpuq' {AVX512_F+VL}.
|
1384
|
+
kIdVpcmpuw, //!< Instruction 'vpcmpuw' {AVX512_BW+VL}.
|
1385
|
+
kIdVpcmpw, //!< Instruction 'vpcmpw' {AVX512_BW+VL}.
|
1386
|
+
kIdVpcomb, //!< Instruction 'vpcomb' {XOP}.
|
1387
|
+
kIdVpcomd, //!< Instruction 'vpcomd' {XOP}.
|
1388
|
+
kIdVpcompressb, //!< Instruction 'vpcompressb' {AVX512_VBMI2+VL}.
|
1389
|
+
kIdVpcompressd, //!< Instruction 'vpcompressd' {AVX512_F+VL}.
|
1390
|
+
kIdVpcompressq, //!< Instruction 'vpcompressq' {AVX512_F+VL}.
|
1391
|
+
kIdVpcompressw, //!< Instruction 'vpcompressw' {AVX512_VBMI2+VL}.
|
1392
|
+
kIdVpcomq, //!< Instruction 'vpcomq' {XOP}.
|
1393
|
+
kIdVpcomub, //!< Instruction 'vpcomub' {XOP}.
|
1394
|
+
kIdVpcomud, //!< Instruction 'vpcomud' {XOP}.
|
1395
|
+
kIdVpcomuq, //!< Instruction 'vpcomuq' {XOP}.
|
1396
|
+
kIdVpcomuw, //!< Instruction 'vpcomuw' {XOP}.
|
1397
|
+
kIdVpcomw, //!< Instruction 'vpcomw' {XOP}.
|
1398
|
+
kIdVpconflictd, //!< Instruction 'vpconflictd' {AVX512_CDI+VL}.
|
1399
|
+
kIdVpconflictq, //!< Instruction 'vpconflictq' {AVX512_CDI+VL}.
|
1400
|
+
kIdVpdpbusd, //!< Instruction 'vpdpbusd' {AVX_VNNI|AVX512_VNNI+VL}.
|
1401
|
+
kIdVpdpbusds, //!< Instruction 'vpdpbusds' {AVX_VNNI|AVX512_VNNI+VL}.
|
1402
|
+
kIdVpdpwssd, //!< Instruction 'vpdpwssd' {AVX_VNNI|AVX512_VNNI+VL}.
|
1403
|
+
kIdVpdpwssds, //!< Instruction 'vpdpwssds' {AVX_VNNI|AVX512_VNNI+VL}.
|
1404
|
+
kIdVperm2f128, //!< Instruction 'vperm2f128' {AVX}.
|
1405
|
+
kIdVperm2i128, //!< Instruction 'vperm2i128' {AVX2}.
|
1406
|
+
kIdVpermb, //!< Instruction 'vpermb' {AVX512_VBMI+VL}.
|
1407
|
+
kIdVpermd, //!< Instruction 'vpermd' {AVX2|AVX512_F+VL}.
|
1408
|
+
kIdVpermi2b, //!< Instruction 'vpermi2b' {AVX512_VBMI+VL}.
|
1409
|
+
kIdVpermi2d, //!< Instruction 'vpermi2d' {AVX512_F+VL}.
|
1410
|
+
kIdVpermi2pd, //!< Instruction 'vpermi2pd' {AVX512_F+VL}.
|
1411
|
+
kIdVpermi2ps, //!< Instruction 'vpermi2ps' {AVX512_F+VL}.
|
1412
|
+
kIdVpermi2q, //!< Instruction 'vpermi2q' {AVX512_F+VL}.
|
1413
|
+
kIdVpermi2w, //!< Instruction 'vpermi2w' {AVX512_BW+VL}.
|
1414
|
+
kIdVpermil2pd, //!< Instruction 'vpermil2pd' {XOP}.
|
1415
|
+
kIdVpermil2ps, //!< Instruction 'vpermil2ps' {XOP}.
|
1416
|
+
kIdVpermilpd, //!< Instruction 'vpermilpd' {AVX|AVX512_F+VL}.
|
1417
|
+
kIdVpermilps, //!< Instruction 'vpermilps' {AVX|AVX512_F+VL}.
|
1418
|
+
kIdVpermpd, //!< Instruction 'vpermpd' {AVX2|AVX512_F+VL}.
|
1419
|
+
kIdVpermps, //!< Instruction 'vpermps' {AVX2|AVX512_F+VL}.
|
1420
|
+
kIdVpermq, //!< Instruction 'vpermq' {AVX2|AVX512_F+VL}.
|
1421
|
+
kIdVpermt2b, //!< Instruction 'vpermt2b' {AVX512_VBMI+VL}.
|
1422
|
+
kIdVpermt2d, //!< Instruction 'vpermt2d' {AVX512_F+VL}.
|
1423
|
+
kIdVpermt2pd, //!< Instruction 'vpermt2pd' {AVX512_F+VL}.
|
1424
|
+
kIdVpermt2ps, //!< Instruction 'vpermt2ps' {AVX512_F+VL}.
|
1425
|
+
kIdVpermt2q, //!< Instruction 'vpermt2q' {AVX512_F+VL}.
|
1426
|
+
kIdVpermt2w, //!< Instruction 'vpermt2w' {AVX512_BW+VL}.
|
1427
|
+
kIdVpermw, //!< Instruction 'vpermw' {AVX512_BW+VL}.
|
1428
|
+
kIdVpexpandb, //!< Instruction 'vpexpandb' {AVX512_VBMI2+VL}.
|
1429
|
+
kIdVpexpandd, //!< Instruction 'vpexpandd' {AVX512_F+VL}.
|
1430
|
+
kIdVpexpandq, //!< Instruction 'vpexpandq' {AVX512_F+VL}.
|
1431
|
+
kIdVpexpandw, //!< Instruction 'vpexpandw' {AVX512_VBMI2+VL}.
|
1432
|
+
kIdVpextrb, //!< Instruction 'vpextrb' {AVX|AVX512_BW}.
|
1433
|
+
kIdVpextrd, //!< Instruction 'vpextrd' {AVX|AVX512_DQ}.
|
1434
|
+
kIdVpextrq, //!< Instruction 'vpextrq' {AVX|AVX512_DQ} (X64).
|
1435
|
+
kIdVpextrw, //!< Instruction 'vpextrw' {AVX|AVX512_BW}.
|
1436
|
+
kIdVpgatherdd, //!< Instruction 'vpgatherdd' {AVX2|AVX512_F+VL}.
|
1437
|
+
kIdVpgatherdq, //!< Instruction 'vpgatherdq' {AVX2|AVX512_F+VL}.
|
1438
|
+
kIdVpgatherqd, //!< Instruction 'vpgatherqd' {AVX2|AVX512_F+VL}.
|
1439
|
+
kIdVpgatherqq, //!< Instruction 'vpgatherqq' {AVX2|AVX512_F+VL}.
|
1440
|
+
kIdVphaddbd, //!< Instruction 'vphaddbd' {XOP}.
|
1441
|
+
kIdVphaddbq, //!< Instruction 'vphaddbq' {XOP}.
|
1442
|
+
kIdVphaddbw, //!< Instruction 'vphaddbw' {XOP}.
|
1443
|
+
kIdVphaddd, //!< Instruction 'vphaddd' {AVX|AVX2}.
|
1444
|
+
kIdVphadddq, //!< Instruction 'vphadddq' {XOP}.
|
1445
|
+
kIdVphaddsw, //!< Instruction 'vphaddsw' {AVX|AVX2}.
|
1446
|
+
kIdVphaddubd, //!< Instruction 'vphaddubd' {XOP}.
|
1447
|
+
kIdVphaddubq, //!< Instruction 'vphaddubq' {XOP}.
|
1448
|
+
kIdVphaddubw, //!< Instruction 'vphaddubw' {XOP}.
|
1449
|
+
kIdVphaddudq, //!< Instruction 'vphaddudq' {XOP}.
|
1450
|
+
kIdVphadduwd, //!< Instruction 'vphadduwd' {XOP}.
|
1451
|
+
kIdVphadduwq, //!< Instruction 'vphadduwq' {XOP}.
|
1452
|
+
kIdVphaddw, //!< Instruction 'vphaddw' {AVX|AVX2}.
|
1453
|
+
kIdVphaddwd, //!< Instruction 'vphaddwd' {XOP}.
|
1454
|
+
kIdVphaddwq, //!< Instruction 'vphaddwq' {XOP}.
|
1455
|
+
kIdVphminposuw, //!< Instruction 'vphminposuw' {AVX}.
|
1456
|
+
kIdVphsubbw, //!< Instruction 'vphsubbw' {XOP}.
|
1457
|
+
kIdVphsubd, //!< Instruction 'vphsubd' {AVX|AVX2}.
|
1458
|
+
kIdVphsubdq, //!< Instruction 'vphsubdq' {XOP}.
|
1459
|
+
kIdVphsubsw, //!< Instruction 'vphsubsw' {AVX|AVX2}.
|
1460
|
+
kIdVphsubw, //!< Instruction 'vphsubw' {AVX|AVX2}.
|
1461
|
+
kIdVphsubwd, //!< Instruction 'vphsubwd' {XOP}.
|
1462
|
+
kIdVpinsrb, //!< Instruction 'vpinsrb' {AVX|AVX512_BW}.
|
1463
|
+
kIdVpinsrd, //!< Instruction 'vpinsrd' {AVX|AVX512_DQ}.
|
1464
|
+
kIdVpinsrq, //!< Instruction 'vpinsrq' {AVX|AVX512_DQ} (X64).
|
1465
|
+
kIdVpinsrw, //!< Instruction 'vpinsrw' {AVX|AVX512_BW}.
|
1466
|
+
kIdVplzcntd, //!< Instruction 'vplzcntd' {AVX512_CDI+VL}.
|
1467
|
+
kIdVplzcntq, //!< Instruction 'vplzcntq' {AVX512_CDI+VL}.
|
1468
|
+
kIdVpmacsdd, //!< Instruction 'vpmacsdd' {XOP}.
|
1469
|
+
kIdVpmacsdqh, //!< Instruction 'vpmacsdqh' {XOP}.
|
1470
|
+
kIdVpmacsdql, //!< Instruction 'vpmacsdql' {XOP}.
|
1471
|
+
kIdVpmacssdd, //!< Instruction 'vpmacssdd' {XOP}.
|
1472
|
+
kIdVpmacssdqh, //!< Instruction 'vpmacssdqh' {XOP}.
|
1473
|
+
kIdVpmacssdql, //!< Instruction 'vpmacssdql' {XOP}.
|
1474
|
+
kIdVpmacsswd, //!< Instruction 'vpmacsswd' {XOP}.
|
1475
|
+
kIdVpmacssww, //!< Instruction 'vpmacssww' {XOP}.
|
1476
|
+
kIdVpmacswd, //!< Instruction 'vpmacswd' {XOP}.
|
1477
|
+
kIdVpmacsww, //!< Instruction 'vpmacsww' {XOP}.
|
1478
|
+
kIdVpmadcsswd, //!< Instruction 'vpmadcsswd' {XOP}.
|
1479
|
+
kIdVpmadcswd, //!< Instruction 'vpmadcswd' {XOP}.
|
1480
|
+
kIdVpmadd52huq, //!< Instruction 'vpmadd52huq' {AVX512_IFMA+VL}.
|
1481
|
+
kIdVpmadd52luq, //!< Instruction 'vpmadd52luq' {AVX512_IFMA+VL}.
|
1482
|
+
kIdVpmaddubsw, //!< Instruction 'vpmaddubsw' {AVX|AVX2|AVX512_BW+VL}.
|
1483
|
+
kIdVpmaddwd, //!< Instruction 'vpmaddwd' {AVX|AVX2|AVX512_BW+VL}.
|
1484
|
+
kIdVpmaskmovd, //!< Instruction 'vpmaskmovd' {AVX2}.
|
1485
|
+
kIdVpmaskmovq, //!< Instruction 'vpmaskmovq' {AVX2}.
|
1486
|
+
kIdVpmaxsb, //!< Instruction 'vpmaxsb' {AVX|AVX2|AVX512_BW+VL}.
|
1487
|
+
kIdVpmaxsd, //!< Instruction 'vpmaxsd' {AVX|AVX2|AVX512_F+VL}.
|
1488
|
+
kIdVpmaxsq, //!< Instruction 'vpmaxsq' {AVX512_F+VL}.
|
1489
|
+
kIdVpmaxsw, //!< Instruction 'vpmaxsw' {AVX|AVX2|AVX512_BW+VL}.
|
1490
|
+
kIdVpmaxub, //!< Instruction 'vpmaxub' {AVX|AVX2|AVX512_BW+VL}.
|
1491
|
+
kIdVpmaxud, //!< Instruction 'vpmaxud' {AVX|AVX2|AVX512_F+VL}.
|
1492
|
+
kIdVpmaxuq, //!< Instruction 'vpmaxuq' {AVX512_F+VL}.
|
1493
|
+
kIdVpmaxuw, //!< Instruction 'vpmaxuw' {AVX|AVX2|AVX512_BW+VL}.
|
1494
|
+
kIdVpminsb, //!< Instruction 'vpminsb' {AVX|AVX2|AVX512_BW+VL}.
|
1495
|
+
kIdVpminsd, //!< Instruction 'vpminsd' {AVX|AVX2|AVX512_F+VL}.
|
1496
|
+
kIdVpminsq, //!< Instruction 'vpminsq' {AVX512_F+VL}.
|
1497
|
+
kIdVpminsw, //!< Instruction 'vpminsw' {AVX|AVX2|AVX512_BW+VL}.
|
1498
|
+
kIdVpminub, //!< Instruction 'vpminub' {AVX|AVX2|AVX512_BW+VL}.
|
1499
|
+
kIdVpminud, //!< Instruction 'vpminud' {AVX|AVX2|AVX512_F+VL}.
|
1500
|
+
kIdVpminuq, //!< Instruction 'vpminuq' {AVX512_F+VL}.
|
1501
|
+
kIdVpminuw, //!< Instruction 'vpminuw' {AVX|AVX2|AVX512_BW+VL}.
|
1502
|
+
kIdVpmovb2m, //!< Instruction 'vpmovb2m' {AVX512_BW+VL}.
|
1503
|
+
kIdVpmovd2m, //!< Instruction 'vpmovd2m' {AVX512_DQ+VL}.
|
1504
|
+
kIdVpmovdb, //!< Instruction 'vpmovdb' {AVX512_F+VL}.
|
1505
|
+
kIdVpmovdw, //!< Instruction 'vpmovdw' {AVX512_F+VL}.
|
1506
|
+
kIdVpmovm2b, //!< Instruction 'vpmovm2b' {AVX512_BW+VL}.
|
1507
|
+
kIdVpmovm2d, //!< Instruction 'vpmovm2d' {AVX512_DQ+VL}.
|
1508
|
+
kIdVpmovm2q, //!< Instruction 'vpmovm2q' {AVX512_DQ+VL}.
|
1509
|
+
kIdVpmovm2w, //!< Instruction 'vpmovm2w' {AVX512_BW+VL}.
|
1510
|
+
kIdVpmovmskb, //!< Instruction 'vpmovmskb' {AVX|AVX2}.
|
1511
|
+
kIdVpmovq2m, //!< Instruction 'vpmovq2m' {AVX512_DQ+VL}.
|
1512
|
+
kIdVpmovqb, //!< Instruction 'vpmovqb' {AVX512_F+VL}.
|
1513
|
+
kIdVpmovqd, //!< Instruction 'vpmovqd' {AVX512_F+VL}.
|
1514
|
+
kIdVpmovqw, //!< Instruction 'vpmovqw' {AVX512_F+VL}.
|
1515
|
+
kIdVpmovsdb, //!< Instruction 'vpmovsdb' {AVX512_F+VL}.
|
1516
|
+
kIdVpmovsdw, //!< Instruction 'vpmovsdw' {AVX512_F+VL}.
|
1517
|
+
kIdVpmovsqb, //!< Instruction 'vpmovsqb' {AVX512_F+VL}.
|
1518
|
+
kIdVpmovsqd, //!< Instruction 'vpmovsqd' {AVX512_F+VL}.
|
1519
|
+
kIdVpmovsqw, //!< Instruction 'vpmovsqw' {AVX512_F+VL}.
|
1520
|
+
kIdVpmovswb, //!< Instruction 'vpmovswb' {AVX512_BW+VL}.
|
1521
|
+
kIdVpmovsxbd, //!< Instruction 'vpmovsxbd' {AVX|AVX2|AVX512_F+VL}.
|
1522
|
+
kIdVpmovsxbq, //!< Instruction 'vpmovsxbq' {AVX|AVX2|AVX512_F+VL}.
|
1523
|
+
kIdVpmovsxbw, //!< Instruction 'vpmovsxbw' {AVX|AVX2|AVX512_BW+VL}.
|
1524
|
+
kIdVpmovsxdq, //!< Instruction 'vpmovsxdq' {AVX|AVX2|AVX512_F+VL}.
|
1525
|
+
kIdVpmovsxwd, //!< Instruction 'vpmovsxwd' {AVX|AVX2|AVX512_F+VL}.
|
1526
|
+
kIdVpmovsxwq, //!< Instruction 'vpmovsxwq' {AVX|AVX2|AVX512_F+VL}.
|
1527
|
+
kIdVpmovusdb, //!< Instruction 'vpmovusdb' {AVX512_F+VL}.
|
1528
|
+
kIdVpmovusdw, //!< Instruction 'vpmovusdw' {AVX512_F+VL}.
|
1529
|
+
kIdVpmovusqb, //!< Instruction 'vpmovusqb' {AVX512_F+VL}.
|
1530
|
+
kIdVpmovusqd, //!< Instruction 'vpmovusqd' {AVX512_F+VL}.
|
1531
|
+
kIdVpmovusqw, //!< Instruction 'vpmovusqw' {AVX512_F+VL}.
|
1532
|
+
kIdVpmovuswb, //!< Instruction 'vpmovuswb' {AVX512_BW+VL}.
|
1533
|
+
kIdVpmovw2m, //!< Instruction 'vpmovw2m' {AVX512_BW+VL}.
|
1534
|
+
kIdVpmovwb, //!< Instruction 'vpmovwb' {AVX512_BW+VL}.
|
1535
|
+
kIdVpmovzxbd, //!< Instruction 'vpmovzxbd' {AVX|AVX2|AVX512_F+VL}.
|
1536
|
+
kIdVpmovzxbq, //!< Instruction 'vpmovzxbq' {AVX|AVX2|AVX512_F+VL}.
|
1537
|
+
kIdVpmovzxbw, //!< Instruction 'vpmovzxbw' {AVX|AVX2|AVX512_BW+VL}.
|
1538
|
+
kIdVpmovzxdq, //!< Instruction 'vpmovzxdq' {AVX|AVX2|AVX512_F+VL}.
|
1539
|
+
kIdVpmovzxwd, //!< Instruction 'vpmovzxwd' {AVX|AVX2|AVX512_F+VL}.
|
1540
|
+
kIdVpmovzxwq, //!< Instruction 'vpmovzxwq' {AVX|AVX2|AVX512_F+VL}.
|
1541
|
+
kIdVpmuldq, //!< Instruction 'vpmuldq' {AVX|AVX2|AVX512_F+VL}.
|
1542
|
+
kIdVpmulhrsw, //!< Instruction 'vpmulhrsw' {AVX|AVX2|AVX512_BW+VL}.
|
1543
|
+
kIdVpmulhuw, //!< Instruction 'vpmulhuw' {AVX|AVX2|AVX512_BW+VL}.
|
1544
|
+
kIdVpmulhw, //!< Instruction 'vpmulhw' {AVX|AVX2|AVX512_BW+VL}.
|
1545
|
+
kIdVpmulld, //!< Instruction 'vpmulld' {AVX|AVX2|AVX512_F+VL}.
|
1546
|
+
kIdVpmullq, //!< Instruction 'vpmullq' {AVX512_DQ+VL}.
|
1547
|
+
kIdVpmullw, //!< Instruction 'vpmullw' {AVX|AVX2|AVX512_BW+VL}.
|
1548
|
+
kIdVpmultishiftqb, //!< Instruction 'vpmultishiftqb' {AVX512_VBMI+VL}.
|
1549
|
+
kIdVpmuludq, //!< Instruction 'vpmuludq' {AVX|AVX2|AVX512_F+VL}.
|
1550
|
+
kIdVpopcntb, //!< Instruction 'vpopcntb' {AVX512_BITALG+VL}.
|
1551
|
+
kIdVpopcntd, //!< Instruction 'vpopcntd' {AVX512_VPOPCNTDQ+VL}.
|
1552
|
+
kIdVpopcntq, //!< Instruction 'vpopcntq' {AVX512_VPOPCNTDQ+VL}.
|
1553
|
+
kIdVpopcntw, //!< Instruction 'vpopcntw' {AVX512_BITALG+VL}.
|
1554
|
+
kIdVpor, //!< Instruction 'vpor' {AVX|AVX2}.
|
1555
|
+
kIdVpord, //!< Instruction 'vpord' {AVX512_F+VL}.
|
1556
|
+
kIdVporq, //!< Instruction 'vporq' {AVX512_F+VL}.
|
1557
|
+
kIdVpperm, //!< Instruction 'vpperm' {XOP}.
|
1558
|
+
kIdVprold, //!< Instruction 'vprold' {AVX512_F+VL}.
|
1559
|
+
kIdVprolq, //!< Instruction 'vprolq' {AVX512_F+VL}.
|
1560
|
+
kIdVprolvd, //!< Instruction 'vprolvd' {AVX512_F+VL}.
|
1561
|
+
kIdVprolvq, //!< Instruction 'vprolvq' {AVX512_F+VL}.
|
1562
|
+
kIdVprord, //!< Instruction 'vprord' {AVX512_F+VL}.
|
1563
|
+
kIdVprorq, //!< Instruction 'vprorq' {AVX512_F+VL}.
|
1564
|
+
kIdVprorvd, //!< Instruction 'vprorvd' {AVX512_F+VL}.
|
1565
|
+
kIdVprorvq, //!< Instruction 'vprorvq' {AVX512_F+VL}.
|
1566
|
+
kIdVprotb, //!< Instruction 'vprotb' {XOP}.
|
1567
|
+
kIdVprotd, //!< Instruction 'vprotd' {XOP}.
|
1568
|
+
kIdVprotq, //!< Instruction 'vprotq' {XOP}.
|
1569
|
+
kIdVprotw, //!< Instruction 'vprotw' {XOP}.
|
1570
|
+
kIdVpsadbw, //!< Instruction 'vpsadbw' {AVX|AVX2|AVX512_BW+VL}.
|
1571
|
+
kIdVpscatterdd, //!< Instruction 'vpscatterdd' {AVX512_F+VL}.
|
1572
|
+
kIdVpscatterdq, //!< Instruction 'vpscatterdq' {AVX512_F+VL}.
|
1573
|
+
kIdVpscatterqd, //!< Instruction 'vpscatterqd' {AVX512_F+VL}.
|
1574
|
+
kIdVpscatterqq, //!< Instruction 'vpscatterqq' {AVX512_F+VL}.
|
1575
|
+
kIdVpshab, //!< Instruction 'vpshab' {XOP}.
|
1576
|
+
kIdVpshad, //!< Instruction 'vpshad' {XOP}.
|
1577
|
+
kIdVpshaq, //!< Instruction 'vpshaq' {XOP}.
|
1578
|
+
kIdVpshaw, //!< Instruction 'vpshaw' {XOP}.
|
1579
|
+
kIdVpshlb, //!< Instruction 'vpshlb' {XOP}.
|
1580
|
+
kIdVpshld, //!< Instruction 'vpshld' {XOP}.
|
1581
|
+
kIdVpshldd, //!< Instruction 'vpshldd' {AVX512_VBMI2+VL}.
|
1582
|
+
kIdVpshldq, //!< Instruction 'vpshldq' {AVX512_VBMI2+VL}.
|
1583
|
+
kIdVpshldvd, //!< Instruction 'vpshldvd' {AVX512_VBMI2+VL}.
|
1584
|
+
kIdVpshldvq, //!< Instruction 'vpshldvq' {AVX512_VBMI2+VL}.
|
1585
|
+
kIdVpshldvw, //!< Instruction 'vpshldvw' {AVX512_VBMI2+VL}.
|
1586
|
+
kIdVpshldw, //!< Instruction 'vpshldw' {AVX512_VBMI2+VL}.
|
1587
|
+
kIdVpshlq, //!< Instruction 'vpshlq' {XOP}.
|
1588
|
+
kIdVpshlw, //!< Instruction 'vpshlw' {XOP}.
|
1589
|
+
kIdVpshrdd, //!< Instruction 'vpshrdd' {AVX512_VBMI2+VL}.
|
1590
|
+
kIdVpshrdq, //!< Instruction 'vpshrdq' {AVX512_VBMI2+VL}.
|
1591
|
+
kIdVpshrdvd, //!< Instruction 'vpshrdvd' {AVX512_VBMI2+VL}.
|
1592
|
+
kIdVpshrdvq, //!< Instruction 'vpshrdvq' {AVX512_VBMI2+VL}.
|
1593
|
+
kIdVpshrdvw, //!< Instruction 'vpshrdvw' {AVX512_VBMI2+VL}.
|
1594
|
+
kIdVpshrdw, //!< Instruction 'vpshrdw' {AVX512_VBMI2+VL}.
|
1595
|
+
kIdVpshufb, //!< Instruction 'vpshufb' {AVX|AVX2|AVX512_BW+VL}.
|
1596
|
+
kIdVpshufbitqmb, //!< Instruction 'vpshufbitqmb' {AVX512_BITALG+VL}.
|
1597
|
+
kIdVpshufd, //!< Instruction 'vpshufd' {AVX|AVX2|AVX512_F+VL}.
|
1598
|
+
kIdVpshufhw, //!< Instruction 'vpshufhw' {AVX|AVX2|AVX512_BW+VL}.
|
1599
|
+
kIdVpshuflw, //!< Instruction 'vpshuflw' {AVX|AVX2|AVX512_BW+VL}.
|
1600
|
+
kIdVpsignb, //!< Instruction 'vpsignb' {AVX|AVX2}.
|
1601
|
+
kIdVpsignd, //!< Instruction 'vpsignd' {AVX|AVX2}.
|
1602
|
+
kIdVpsignw, //!< Instruction 'vpsignw' {AVX|AVX2}.
|
1603
|
+
kIdVpslld, //!< Instruction 'vpslld' {AVX|AVX2|AVX512_F+VL}.
|
1604
|
+
kIdVpslldq, //!< Instruction 'vpslldq' {AVX|AVX2|AVX512_BW+VL}.
|
1605
|
+
kIdVpsllq, //!< Instruction 'vpsllq' {AVX|AVX2|AVX512_F+VL}.
|
1606
|
+
kIdVpsllvd, //!< Instruction 'vpsllvd' {AVX2|AVX512_F+VL}.
|
1607
|
+
kIdVpsllvq, //!< Instruction 'vpsllvq' {AVX2|AVX512_F+VL}.
|
1608
|
+
kIdVpsllvw, //!< Instruction 'vpsllvw' {AVX512_BW+VL}.
|
1609
|
+
kIdVpsllw, //!< Instruction 'vpsllw' {AVX|AVX2|AVX512_BW+VL}.
|
1610
|
+
kIdVpsrad, //!< Instruction 'vpsrad' {AVX|AVX2|AVX512_F+VL}.
|
1611
|
+
kIdVpsraq, //!< Instruction 'vpsraq' {AVX512_F+VL}.
|
1612
|
+
kIdVpsravd, //!< Instruction 'vpsravd' {AVX2|AVX512_F+VL}.
|
1613
|
+
kIdVpsravq, //!< Instruction 'vpsravq' {AVX512_F+VL}.
|
1614
|
+
kIdVpsravw, //!< Instruction 'vpsravw' {AVX512_BW+VL}.
|
1615
|
+
kIdVpsraw, //!< Instruction 'vpsraw' {AVX|AVX2|AVX512_BW+VL}.
|
1616
|
+
kIdVpsrld, //!< Instruction 'vpsrld' {AVX|AVX2|AVX512_F+VL}.
|
1617
|
+
kIdVpsrldq, //!< Instruction 'vpsrldq' {AVX|AVX2|AVX512_BW+VL}.
|
1618
|
+
kIdVpsrlq, //!< Instruction 'vpsrlq' {AVX|AVX2|AVX512_F+VL}.
|
1619
|
+
kIdVpsrlvd, //!< Instruction 'vpsrlvd' {AVX2|AVX512_F+VL}.
|
1620
|
+
kIdVpsrlvq, //!< Instruction 'vpsrlvq' {AVX2|AVX512_F+VL}.
|
1621
|
+
kIdVpsrlvw, //!< Instruction 'vpsrlvw' {AVX512_BW+VL}.
|
1622
|
+
kIdVpsrlw, //!< Instruction 'vpsrlw' {AVX|AVX2|AVX512_BW+VL}.
|
1623
|
+
kIdVpsubb, //!< Instruction 'vpsubb' {AVX|AVX2|AVX512_BW+VL}.
|
1624
|
+
kIdVpsubd, //!< Instruction 'vpsubd' {AVX|AVX2|AVX512_F+VL}.
|
1625
|
+
kIdVpsubq, //!< Instruction 'vpsubq' {AVX|AVX2|AVX512_F+VL}.
|
1626
|
+
kIdVpsubsb, //!< Instruction 'vpsubsb' {AVX|AVX2|AVX512_BW+VL}.
|
1627
|
+
kIdVpsubsw, //!< Instruction 'vpsubsw' {AVX|AVX2|AVX512_BW+VL}.
|
1628
|
+
kIdVpsubusb, //!< Instruction 'vpsubusb' {AVX|AVX2|AVX512_BW+VL}.
|
1629
|
+
kIdVpsubusw, //!< Instruction 'vpsubusw' {AVX|AVX2|AVX512_BW+VL}.
|
1630
|
+
kIdVpsubw, //!< Instruction 'vpsubw' {AVX|AVX2|AVX512_BW+VL}.
|
1631
|
+
kIdVpternlogd, //!< Instruction 'vpternlogd' {AVX512_F+VL}.
|
1632
|
+
kIdVpternlogq, //!< Instruction 'vpternlogq' {AVX512_F+VL}.
|
1633
|
+
kIdVptest, //!< Instruction 'vptest' {AVX}.
|
1634
|
+
kIdVptestmb, //!< Instruction 'vptestmb' {AVX512_BW+VL}.
|
1635
|
+
kIdVptestmd, //!< Instruction 'vptestmd' {AVX512_F+VL}.
|
1636
|
+
kIdVptestmq, //!< Instruction 'vptestmq' {AVX512_F+VL}.
|
1637
|
+
kIdVptestmw, //!< Instruction 'vptestmw' {AVX512_BW+VL}.
|
1638
|
+
kIdVptestnmb, //!< Instruction 'vptestnmb' {AVX512_BW+VL}.
|
1639
|
+
kIdVptestnmd, //!< Instruction 'vptestnmd' {AVX512_F+VL}.
|
1640
|
+
kIdVptestnmq, //!< Instruction 'vptestnmq' {AVX512_F+VL}.
|
1641
|
+
kIdVptestnmw, //!< Instruction 'vptestnmw' {AVX512_BW+VL}.
|
1642
|
+
kIdVpunpckhbw, //!< Instruction 'vpunpckhbw' {AVX|AVX2|AVX512_BW+VL}.
|
1643
|
+
kIdVpunpckhdq, //!< Instruction 'vpunpckhdq' {AVX|AVX2|AVX512_F+VL}.
|
1644
|
+
kIdVpunpckhqdq, //!< Instruction 'vpunpckhqdq' {AVX|AVX2|AVX512_F+VL}.
|
1645
|
+
kIdVpunpckhwd, //!< Instruction 'vpunpckhwd' {AVX|AVX2|AVX512_BW+VL}.
|
1646
|
+
kIdVpunpcklbw, //!< Instruction 'vpunpcklbw' {AVX|AVX2|AVX512_BW+VL}.
|
1647
|
+
kIdVpunpckldq, //!< Instruction 'vpunpckldq' {AVX|AVX2|AVX512_F+VL}.
|
1648
|
+
kIdVpunpcklqdq, //!< Instruction 'vpunpcklqdq' {AVX|AVX2|AVX512_F+VL}.
|
1649
|
+
kIdVpunpcklwd, //!< Instruction 'vpunpcklwd' {AVX|AVX2|AVX512_BW+VL}.
|
1650
|
+
kIdVpxor, //!< Instruction 'vpxor' {AVX|AVX2}.
|
1651
|
+
kIdVpxord, //!< Instruction 'vpxord' {AVX512_F+VL}.
|
1652
|
+
kIdVpxorq, //!< Instruction 'vpxorq' {AVX512_F+VL}.
|
1653
|
+
kIdVrangepd, //!< Instruction 'vrangepd' {AVX512_DQ+VL}.
|
1654
|
+
kIdVrangeps, //!< Instruction 'vrangeps' {AVX512_DQ+VL}.
|
1655
|
+
kIdVrangesd, //!< Instruction 'vrangesd' {AVX512_DQ}.
|
1656
|
+
kIdVrangess, //!< Instruction 'vrangess' {AVX512_DQ}.
|
1657
|
+
kIdVrcp14pd, //!< Instruction 'vrcp14pd' {AVX512_F+VL}.
|
1658
|
+
kIdVrcp14ps, //!< Instruction 'vrcp14ps' {AVX512_F+VL}.
|
1659
|
+
kIdVrcp14sd, //!< Instruction 'vrcp14sd' {AVX512_F}.
|
1660
|
+
kIdVrcp14ss, //!< Instruction 'vrcp14ss' {AVX512_F}.
|
1661
|
+
kIdVrcp28pd, //!< Instruction 'vrcp28pd' {AVX512_ERI}.
|
1662
|
+
kIdVrcp28ps, //!< Instruction 'vrcp28ps' {AVX512_ERI}.
|
1663
|
+
kIdVrcp28sd, //!< Instruction 'vrcp28sd' {AVX512_ERI}.
|
1664
|
+
kIdVrcp28ss, //!< Instruction 'vrcp28ss' {AVX512_ERI}.
|
1665
|
+
kIdVrcpph, //!< Instruction 'vrcpph' {AVX512_FP16}.
|
1666
|
+
kIdVrcpps, //!< Instruction 'vrcpps' {AVX}.
|
1667
|
+
kIdVrcpsh, //!< Instruction 'vrcpsh' {AVX512_FP16}.
|
1668
|
+
kIdVrcpss, //!< Instruction 'vrcpss' {AVX}.
|
1669
|
+
kIdVreducepd, //!< Instruction 'vreducepd' {AVX512_DQ+VL}.
|
1670
|
+
kIdVreduceph, //!< Instruction 'vreduceph' {AVX512_FP16+VL}.
|
1671
|
+
kIdVreduceps, //!< Instruction 'vreduceps' {AVX512_DQ+VL}.
|
1672
|
+
kIdVreducesd, //!< Instruction 'vreducesd' {AVX512_DQ}.
|
1673
|
+
kIdVreducesh, //!< Instruction 'vreducesh' {AVX512_FP16}.
|
1674
|
+
kIdVreducess, //!< Instruction 'vreducess' {AVX512_DQ}.
|
1675
|
+
kIdVrndscalepd, //!< Instruction 'vrndscalepd' {AVX512_F+VL}.
|
1676
|
+
kIdVrndscaleph, //!< Instruction 'vrndscaleph' {AVX512_FP16+VL}.
|
1677
|
+
kIdVrndscaleps, //!< Instruction 'vrndscaleps' {AVX512_F+VL}.
|
1678
|
+
kIdVrndscalesd, //!< Instruction 'vrndscalesd' {AVX512_F}.
|
1679
|
+
kIdVrndscalesh, //!< Instruction 'vrndscalesh' {AVX512_FP16}.
|
1680
|
+
kIdVrndscaless, //!< Instruction 'vrndscaless' {AVX512_F}.
|
1681
|
+
kIdVroundpd, //!< Instruction 'vroundpd' {AVX}.
|
1682
|
+
kIdVroundps, //!< Instruction 'vroundps' {AVX}.
|
1683
|
+
kIdVroundsd, //!< Instruction 'vroundsd' {AVX}.
|
1684
|
+
kIdVroundss, //!< Instruction 'vroundss' {AVX}.
|
1685
|
+
kIdVrsqrt14pd, //!< Instruction 'vrsqrt14pd' {AVX512_F+VL}.
|
1686
|
+
kIdVrsqrt14ps, //!< Instruction 'vrsqrt14ps' {AVX512_F+VL}.
|
1687
|
+
kIdVrsqrt14sd, //!< Instruction 'vrsqrt14sd' {AVX512_F}.
|
1688
|
+
kIdVrsqrt14ss, //!< Instruction 'vrsqrt14ss' {AVX512_F}.
|
1689
|
+
kIdVrsqrt28pd, //!< Instruction 'vrsqrt28pd' {AVX512_ERI}.
|
1690
|
+
kIdVrsqrt28ps, //!< Instruction 'vrsqrt28ps' {AVX512_ERI}.
|
1691
|
+
kIdVrsqrt28sd, //!< Instruction 'vrsqrt28sd' {AVX512_ERI}.
|
1692
|
+
kIdVrsqrt28ss, //!< Instruction 'vrsqrt28ss' {AVX512_ERI}.
|
1693
|
+
kIdVrsqrtph, //!< Instruction 'vrsqrtph' {AVX512_FP16+VL}.
|
1694
|
+
kIdVrsqrtps, //!< Instruction 'vrsqrtps' {AVX}.
|
1695
|
+
kIdVrsqrtsh, //!< Instruction 'vrsqrtsh' {AVX512_FP16}.
|
1696
|
+
kIdVrsqrtss, //!< Instruction 'vrsqrtss' {AVX}.
|
1697
|
+
kIdVscalefpd, //!< Instruction 'vscalefpd' {AVX512_F+VL}.
|
1698
|
+
kIdVscalefph, //!< Instruction 'vscalefph' {AVX512_FP16+VL}.
|
1699
|
+
kIdVscalefps, //!< Instruction 'vscalefps' {AVX512_F+VL}.
|
1700
|
+
kIdVscalefsd, //!< Instruction 'vscalefsd' {AVX512_F}.
|
1701
|
+
kIdVscalefsh, //!< Instruction 'vscalefsh' {AVX512_FP16}.
|
1702
|
+
kIdVscalefss, //!< Instruction 'vscalefss' {AVX512_F}.
|
1703
|
+
kIdVscatterdpd, //!< Instruction 'vscatterdpd' {AVX512_F+VL}.
|
1704
|
+
kIdVscatterdps, //!< Instruction 'vscatterdps' {AVX512_F+VL}.
|
1705
|
+
kIdVscatterpf0dpd, //!< Instruction 'vscatterpf0dpd' {AVX512_PFI}.
|
1706
|
+
kIdVscatterpf0dps, //!< Instruction 'vscatterpf0dps' {AVX512_PFI}.
|
1707
|
+
kIdVscatterpf0qpd, //!< Instruction 'vscatterpf0qpd' {AVX512_PFI}.
|
1708
|
+
kIdVscatterpf0qps, //!< Instruction 'vscatterpf0qps' {AVX512_PFI}.
|
1709
|
+
kIdVscatterpf1dpd, //!< Instruction 'vscatterpf1dpd' {AVX512_PFI}.
|
1710
|
+
kIdVscatterpf1dps, //!< Instruction 'vscatterpf1dps' {AVX512_PFI}.
|
1711
|
+
kIdVscatterpf1qpd, //!< Instruction 'vscatterpf1qpd' {AVX512_PFI}.
|
1712
|
+
kIdVscatterpf1qps, //!< Instruction 'vscatterpf1qps' {AVX512_PFI}.
|
1713
|
+
kIdVscatterqpd, //!< Instruction 'vscatterqpd' {AVX512_F+VL}.
|
1714
|
+
kIdVscatterqps, //!< Instruction 'vscatterqps' {AVX512_F+VL}.
|
1715
|
+
kIdVshuff32x4, //!< Instruction 'vshuff32x4' {AVX512_F+VL}.
|
1716
|
+
kIdVshuff64x2, //!< Instruction 'vshuff64x2' {AVX512_F+VL}.
|
1717
|
+
kIdVshufi32x4, //!< Instruction 'vshufi32x4' {AVX512_F+VL}.
|
1718
|
+
kIdVshufi64x2, //!< Instruction 'vshufi64x2' {AVX512_F+VL}.
|
1719
|
+
kIdVshufpd, //!< Instruction 'vshufpd' {AVX|AVX512_F+VL}.
|
1720
|
+
kIdVshufps, //!< Instruction 'vshufps' {AVX|AVX512_F+VL}.
|
1721
|
+
kIdVsqrtpd, //!< Instruction 'vsqrtpd' {AVX|AVX512_F+VL}.
|
1722
|
+
kIdVsqrtph, //!< Instruction 'vsqrtph' {AVX512_FP16+VL}.
|
1723
|
+
kIdVsqrtps, //!< Instruction 'vsqrtps' {AVX|AVX512_F+VL}.
|
1724
|
+
kIdVsqrtsd, //!< Instruction 'vsqrtsd' {AVX|AVX512_F}.
|
1725
|
+
kIdVsqrtsh, //!< Instruction 'vsqrtsh' {AVX512_FP16}.
|
1726
|
+
kIdVsqrtss, //!< Instruction 'vsqrtss' {AVX|AVX512_F}.
|
1727
|
+
kIdVstmxcsr, //!< Instruction 'vstmxcsr' {AVX}.
|
1728
|
+
kIdVsubpd, //!< Instruction 'vsubpd' {AVX|AVX512_F+VL}.
|
1729
|
+
kIdVsubph, //!< Instruction 'vsubph' {AVX512_FP16+VL}.
|
1730
|
+
kIdVsubps, //!< Instruction 'vsubps' {AVX|AVX512_F+VL}.
|
1731
|
+
kIdVsubsd, //!< Instruction 'vsubsd' {AVX|AVX512_F}.
|
1732
|
+
kIdVsubsh, //!< Instruction 'vsubsh' {AVX512_FP16}.
|
1733
|
+
kIdVsubss, //!< Instruction 'vsubss' {AVX|AVX512_F}.
|
1734
|
+
kIdVtestpd, //!< Instruction 'vtestpd' {AVX}.
|
1735
|
+
kIdVtestps, //!< Instruction 'vtestps' {AVX}.
|
1736
|
+
kIdVucomisd, //!< Instruction 'vucomisd' {AVX|AVX512_F}.
|
1737
|
+
kIdVucomish, //!< Instruction 'vucomish' {AVX512_FP16}.
|
1738
|
+
kIdVucomiss, //!< Instruction 'vucomiss' {AVX|AVX512_F}.
|
1739
|
+
kIdVunpckhpd, //!< Instruction 'vunpckhpd' {AVX|AVX512_F+VL}.
|
1740
|
+
kIdVunpckhps, //!< Instruction 'vunpckhps' {AVX|AVX512_F+VL}.
|
1741
|
+
kIdVunpcklpd, //!< Instruction 'vunpcklpd' {AVX|AVX512_F+VL}.
|
1742
|
+
kIdVunpcklps, //!< Instruction 'vunpcklps' {AVX|AVX512_F+VL}.
|
1743
|
+
kIdVxorpd, //!< Instruction 'vxorpd' {AVX|AVX512_DQ+VL}.
|
1744
|
+
kIdVxorps, //!< Instruction 'vxorps' {AVX|AVX512_DQ+VL}.
|
1745
|
+
kIdVzeroall, //!< Instruction 'vzeroall' {AVX}.
|
1746
|
+
kIdVzeroupper, //!< Instruction 'vzeroupper' {AVX}.
|
1747
|
+
kIdWbinvd, //!< Instruction 'wbinvd'.
|
1748
|
+
kIdWbnoinvd, //!< Instruction 'wbnoinvd' {WBNOINVD}.
|
1749
|
+
kIdWrfsbase, //!< Instruction 'wrfsbase' {FSGSBASE} (X64).
|
1750
|
+
kIdWrgsbase, //!< Instruction 'wrgsbase' {FSGSBASE} (X64).
|
1751
|
+
kIdWrmsr, //!< Instruction 'wrmsr' {MSR}.
|
1752
|
+
kIdWrssd, //!< Instruction 'wrssd' {CET_SS}.
|
1753
|
+
kIdWrssq, //!< Instruction 'wrssq' {CET_SS} (X64).
|
1754
|
+
kIdWrussd, //!< Instruction 'wrussd' {CET_SS}.
|
1755
|
+
kIdWrussq, //!< Instruction 'wrussq' {CET_SS} (X64).
|
1756
|
+
kIdXabort, //!< Instruction 'xabort' {RTM}.
|
1757
|
+
kIdXadd, //!< Instruction 'xadd' {I486}.
|
1758
|
+
kIdXbegin, //!< Instruction 'xbegin' {RTM}.
|
1759
|
+
kIdXchg, //!< Instruction 'xchg'.
|
1760
|
+
kIdXend, //!< Instruction 'xend' {RTM}.
|
1761
|
+
kIdXgetbv, //!< Instruction 'xgetbv' {XSAVE}.
|
1762
|
+
kIdXlatb, //!< Instruction 'xlatb'.
|
1763
|
+
kIdXor, //!< Instruction 'xor'.
|
1764
|
+
kIdXorpd, //!< Instruction 'xorpd' {SSE2}.
|
1765
|
+
kIdXorps, //!< Instruction 'xorps' {SSE}.
|
1766
|
+
kIdXresldtrk, //!< Instruction 'xresldtrk' {TSXLDTRK}.
|
1767
|
+
kIdXrstor, //!< Instruction 'xrstor' {XSAVE}.
|
1768
|
+
kIdXrstor64, //!< Instruction 'xrstor64' {XSAVE} (X64).
|
1769
|
+
kIdXrstors, //!< Instruction 'xrstors' {XSAVES}.
|
1770
|
+
kIdXrstors64, //!< Instruction 'xrstors64' {XSAVES} (X64).
|
1771
|
+
kIdXsave, //!< Instruction 'xsave' {XSAVE}.
|
1772
|
+
kIdXsave64, //!< Instruction 'xsave64' {XSAVE} (X64).
|
1773
|
+
kIdXsavec, //!< Instruction 'xsavec' {XSAVEC}.
|
1774
|
+
kIdXsavec64, //!< Instruction 'xsavec64' {XSAVEC} (X64).
|
1775
|
+
kIdXsaveopt, //!< Instruction 'xsaveopt' {XSAVEOPT}.
|
1776
|
+
kIdXsaveopt64, //!< Instruction 'xsaveopt64' {XSAVEOPT} (X64).
|
1777
|
+
kIdXsaves, //!< Instruction 'xsaves' {XSAVES}.
|
1778
|
+
kIdXsaves64, //!< Instruction 'xsaves64' {XSAVES} (X64).
|
1779
|
+
kIdXsetbv, //!< Instruction 'xsetbv' {XSAVE}.
|
1780
|
+
kIdXsusldtrk, //!< Instruction 'xsusldtrk' {TSXLDTRK}.
|
1781
|
+
kIdXtest, //!< Instruction 'xtest' {TSX}.
|
1782
|
+
_kIdCount
|
1783
|
+
// ${InstId:End}
|
1784
|
+
};
|
1785
|
+
|
1786
|
+
//! Tests whether the `instId` is defined.
|
1787
|
+
static inline constexpr bool isDefinedId(InstId instId) noexcept { return instId < _kIdCount; }
|
1788
|
+
|
1789
|
+
//! \cond
|
1790
|
+
#define ASMJIT_INST_FROM_COND(ID) \
|
1791
|
+
ID##o, ID##no, ID##b , ID##ae, \
|
1792
|
+
ID##e, ID##ne, ID##be, ID##a , \
|
1793
|
+
ID##s, ID##ns, ID##pe, ID##po, \
|
1794
|
+
ID##l, ID##ge, ID##le, ID##g
|
1795
|
+
|
1796
|
+
static constexpr uint16_t _jccTable[] = { ASMJIT_INST_FROM_COND(Inst::kIdJ) };
|
1797
|
+
static constexpr uint16_t _setccTable[] = { ASMJIT_INST_FROM_COND(Inst::kIdSet) };
|
1798
|
+
static constexpr uint16_t _cmovccTable[] = { ASMJIT_INST_FROM_COND(Inst::kIdCmov) };
|
1799
|
+
|
1800
|
+
#undef ASMJIT_INST_FROM_COND
|
1801
|
+
//! \endcond
|
1802
|
+
|
1803
|
+
//! Translates a condition code `cond` to a `jcc` instruction id.
|
1804
|
+
static constexpr InstId jccFromCond(CondCode cond) noexcept { return _jccTable[uint8_t(cond)]; }
|
1805
|
+
//! Translates a condition code `cond` to a `setcc` instruction id.
|
1806
|
+
static constexpr InstId setccFromCond(CondCode cond) noexcept { return _setccTable[uint8_t(cond)]; }
|
1807
|
+
//! Translates a condition code `cond` to a `cmovcc` instruction id.
|
1808
|
+
static constexpr InstId cmovccFromCond(CondCode cond) noexcept { return _cmovccTable[uint8_t(cond)]; }
|
1809
|
+
} // {Inst}
|
1810
|
+
|
1811
|
+
//! FPU status word bits.
|
1812
|
+
enum class FpuStatusWord : uint16_t {
|
1813
|
+
kNone = 0x0000u, //!< No bits set.
|
1814
|
+
|
1815
|
+
kInvalid = 0x0001u, //!< Invalid operation.
|
1816
|
+
kDenormalized = 0x0002u, //!< Denormalized operand.
|
1817
|
+
kDivByZero = 0x0004u, //!< Division by zero.
|
1818
|
+
kOverflow = 0x0008u, //!< Overflown.
|
1819
|
+
kUnderflow = 0x0010u, //!< Underflown.
|
1820
|
+
kPrecision = 0x0020u, //!< Precision lost.
|
1821
|
+
kStackFault = 0x0040u, //!< Stack fault.
|
1822
|
+
kInterrupt = 0x0080u, //!< Interrupt.
|
1823
|
+
kC0 = 0x0100u, //!< C0 flag.
|
1824
|
+
kC1 = 0x0200u, //!< C1 flag.
|
1825
|
+
kC2 = 0x0400u, //!< C2 flag.
|
1826
|
+
kTopMask = 0x3800u, //!< Top of the stack (mask).
|
1827
|
+
kC3 = 0x4000u, //!< C3 flag.
|
1828
|
+
kBusy = 0x8000u //!< FPU is busy.
|
1829
|
+
};
|
1830
|
+
ASMJIT_DEFINE_ENUM_FLAGS(FpuStatusWord)
|
1831
|
+
|
1832
|
+
//! FPU control word bits.
|
1833
|
+
enum class FpuControlWord : uint16_t {
|
1834
|
+
kNone = 0x0000u, //!< No bits set.
|
1835
|
+
|
1836
|
+
// Bits 0-5
|
1837
|
+
// --------
|
1838
|
+
|
1839
|
+
kEM_Mask = 0x003Fu, //!< Exception mask (0x3F).
|
1840
|
+
kEM_Invalid = 0x0001u, //!< Invalid operation exception.
|
1841
|
+
kEM_Denormal = 0x0002u, //!< Denormalized operand exception.
|
1842
|
+
kEM_DivByZero = 0x0004u, //!< Division by zero exception.
|
1843
|
+
kEM_Overflow = 0x0008u, //!< Overflow exception.
|
1844
|
+
kEM_Underflow = 0x0010u, //!< Underflow exception.
|
1845
|
+
kEM_Inexact = 0x0020u, //!< Inexact operation exception.
|
1846
|
+
|
1847
|
+
// Bits 8-9
|
1848
|
+
// --------
|
1849
|
+
|
1850
|
+
kPC_Mask = 0x0300u, //!< Precision control mask.
|
1851
|
+
kPC_Float = 0x0000u, //!< Single precision (24 bits).
|
1852
|
+
kPC_Reserved = 0x0100u, //!< Reserved.
|
1853
|
+
kPC_Double = 0x0200u, //!< Double precision (53 bits).
|
1854
|
+
kPC_Extended = 0x0300u, //!< Extended precision (64 bits).
|
1855
|
+
|
1856
|
+
// Bits 10-11
|
1857
|
+
// ----------
|
1858
|
+
|
1859
|
+
kRC_Mask = 0x0C00u, //!< Rounding control mask.
|
1860
|
+
kRC_Nearest = 0x0000u, //!< Round to nearest even.
|
1861
|
+
kRC_Down = 0x0400u, //!< Round down (floor).
|
1862
|
+
kRC_Up = 0x0800u, //!< Round up (ceil).
|
1863
|
+
kRC_Truncate = 0x0C00u, //!< Round towards zero (truncate).
|
1864
|
+
|
1865
|
+
// Bit 12
|
1866
|
+
// ------
|
1867
|
+
|
1868
|
+
kIC_Mask = 0x1000u, //!< Infinity control.
|
1869
|
+
kIC_Projective = 0x0000u, //!< Projective (not supported on X64).
|
1870
|
+
kIC_Affine = 0x1000u //!< Affine (default).
|
1871
|
+
};
|
1872
|
+
ASMJIT_DEFINE_ENUM_FLAGS(FpuControlWord)
|
1873
|
+
|
1874
|
+
//! An immediate value that can be used with CMP[PD|PS|SD|SS] instructions.
|
1875
|
+
enum class CmpImm : uint8_t {
|
1876
|
+
kEQ = 0x00u, //!< Equal (Quiet), same as \ref VCmpImm::kEQ_OQ.
|
1877
|
+
kLT = 0x01u, //!< Less (Signaling), same as \ref VCmpImm::kLT_OS.
|
1878
|
+
kLE = 0x02u, //!< Less/Equal (Signaling), same as \ref VCmpImm::kLE_OS.
|
1879
|
+
kUNORD = 0x03u, //!< Unordered (Quiet), same as \ref VCmpImm::kUNORD_Q.
|
1880
|
+
kNEQ = 0x04u, //!< Not Equal (Quiet), same as \ref VCmpImm::kNEQ_UQ.
|
1881
|
+
kNLT = 0x05u, //!< Not Less (Signaling), same as \ref VCmpImm::kNLT_US.
|
1882
|
+
kNLE = 0x06u, //!< Not Less/Equal (Signaling), same as \ref VCmpImm::kNLE_US.
|
1883
|
+
kORD = 0x07u //!< Ordered (Quiet), same as \ref VCmpImm::kORD_Q.
|
1884
|
+
};
|
1885
|
+
|
1886
|
+
//! An immediate value that can be used with [V]PCMP[I|E]STR[I|M] instructions.
|
1887
|
+
enum class PCmpStrImm : uint8_t {
|
1888
|
+
// Source Data Format
|
1889
|
+
// ------------------
|
1890
|
+
|
1891
|
+
kUB = 0x00u << 0, //!< The source data format is unsigned bytes.
|
1892
|
+
kUW = 0x01u << 0, //!< The source data format is unsigned words.
|
1893
|
+
kSB = 0x02u << 0, //!< The source data format is signed bytes.
|
1894
|
+
kSW = 0x03u << 0, //!< The source data format is signed words.
|
1895
|
+
|
1896
|
+
// Aggregation Operation
|
1897
|
+
// ---------------------
|
1898
|
+
|
1899
|
+
kEqualAny = 0x00u << 2, //!< The arithmetic comparison is "equal".
|
1900
|
+
kRanges = 0x01u << 2, //!< The arithmetic comparison is "greater than or equal" between even indexed
|
1901
|
+
//!< elements and "less than or equal" between odd indexed elements.
|
1902
|
+
kEqualEach = 0x02u << 2, //!< The arithmetic comparison is "equal".
|
1903
|
+
kEqualOrdered = 0x03u << 2, //!< The arithmetic comparison is "equal".
|
1904
|
+
|
1905
|
+
// Polarity
|
1906
|
+
// --------
|
1907
|
+
|
1908
|
+
kPosPolarity = 0x00u << 4, //!< IntRes2 = IntRes1.
|
1909
|
+
kNegPolarity = 0x01u << 4, //!< IntRes2 = -1 XOR IntRes1.
|
1910
|
+
kPosMasked = 0x02u << 4, //!< IntRes2 = IntRes1.
|
1911
|
+
kNegMasked = 0x03u << 4, //!< IntRes2[i] = second[i] == invalid ? IntRes1[i] : ~IntRes1[i].
|
1912
|
+
|
1913
|
+
// Output Selection (pcmpstri)
|
1914
|
+
// ---------------------------
|
1915
|
+
|
1916
|
+
kOutputLSI = 0x00u << 6, //!< The index returned to ECX is of the least significant set bit in IntRes2.
|
1917
|
+
kOutputMSI = 0x01u << 6, //!< The index returned to ECX is of the most significant set bit in IntRes2.
|
1918
|
+
|
1919
|
+
// Output Selection (pcmpstrm)
|
1920
|
+
// ---------------------------
|
1921
|
+
|
1922
|
+
kBitMask = 0x00u << 6, //!< IntRes2 is returned as the mask to the least significant bits of XMM0.
|
1923
|
+
kIndexMask = 0x01u << 6 //!< IntRes2 is expanded into a byte/word mask and placed in XMM0.
|
1924
|
+
};
|
1925
|
+
ASMJIT_DEFINE_ENUM_FLAGS(PCmpStrImm)
|
1926
|
+
|
1927
|
+
//! An immediate value that can be used with ROUND[PD|PS|SD|SS] instructions.
|
1928
|
+
//!
|
1929
|
+
//! \note `kSuppress` is a mask that can be used with any other value.
|
1930
|
+
enum class RoundImm : uint8_t {
|
1931
|
+
kNearest = 0x00u, //!< Round to nearest (even).
|
1932
|
+
kDown = 0x01u, //!< Round to down toward -INF (floor),
|
1933
|
+
kUp = 0x02u, //!< Round to up toward +INF (ceil).
|
1934
|
+
kTrunc = 0x03u, //!< Round toward zero (truncate).
|
1935
|
+
kCurrent = 0x04u, //!< Round to the current rounding mode set (ignores other RC bits).
|
1936
|
+
kSuppress = 0x08u //!< Supress exceptions (avoids inexact exception, if set).
|
1937
|
+
};
|
1938
|
+
ASMJIT_DEFINE_ENUM_FLAGS(RoundImm)
|
1939
|
+
|
1940
|
+
//! An immediate value that can be used with VCMP[PD|PS|SD|SS] instructions (AVX).
|
1941
|
+
//!
|
1942
|
+
//! The first 8 values are compatible with \ref CmpImm.
|
1943
|
+
enum class VCmpImm : uint8_t {
|
1944
|
+
kEQ_OQ = 0x00u, //!< Equal (Quiet , Ordered) , same as \ref CmpImm::kEQ.
|
1945
|
+
kLT_OS = 0x01u, //!< Less (Signaling, Ordered) , same as \ref CmpImm::kLT.
|
1946
|
+
kLE_OS = 0x02u, //!< Less/Equal (Signaling, Ordered) , same as \ref CmpImm::kLE.
|
1947
|
+
kUNORD_Q = 0x03u, //!< Unordered (Quiet) , same as \ref CmpImm::kUNORD.
|
1948
|
+
kNEQ_UQ = 0x04u, //!< Not Equal (Quiet , Unordered), same as \ref CmpImm::kNEQ.
|
1949
|
+
kNLT_US = 0x05u, //!< Not Less (Signaling, Unordered), same as \ref CmpImm::kNLT.
|
1950
|
+
kNLE_US = 0x06u, //!< Not Less/Equal (Signaling, Unordered), same as \ref CmpImm::kNLE.
|
1951
|
+
kORD_Q = 0x07u, //!< Ordered (Quiet) , same as \ref CmpImm::kORD.
|
1952
|
+
kEQ_UQ = 0x08u, //!< Equal (Quiet , Unordered).
|
1953
|
+
kNGE_US = 0x09u, //!< Not Greater/Equal (Signaling, Unordered).
|
1954
|
+
kNGT_US = 0x0Au, //!< Not Greater (Signaling, Unordered).
|
1955
|
+
kFALSE_OQ = 0x0Bu, //!< False (Quiet , Ordered).
|
1956
|
+
kNEQ_OQ = 0x0Cu, //!< Not Equal (Quiet , Ordered).
|
1957
|
+
kGE_OS = 0x0Du, //!< Greater/Equal (Signaling, Ordered).
|
1958
|
+
kGT_OS = 0x0Eu, //!< Greater (Signaling, Ordered).
|
1959
|
+
kTRUE_UQ = 0x0Fu, //!< True (Quiet , Unordered).
|
1960
|
+
kEQ_OS = 0x10u, //!< Equal (Signaling, Ordered).
|
1961
|
+
kLT_OQ = 0x11u, //!< Less (Quiet , Ordered).
|
1962
|
+
kLE_OQ = 0x12u, //!< Less/Equal (Quiet , Ordered).
|
1963
|
+
kUNORD_S = 0x13u, //!< Unordered (Signaling).
|
1964
|
+
kNEQ_US = 0x14u, //!< Not Equal (Signaling, Unordered).
|
1965
|
+
kNLT_UQ = 0x15u, //!< Not Less (Quiet , Unordered).
|
1966
|
+
kNLE_UQ = 0x16u, //!< Not Less/Equal (Quiet , Unordered).
|
1967
|
+
kORD_S = 0x17u, //!< Ordered (Signaling).
|
1968
|
+
kEQ_US = 0x18u, //!< Equal (Signaling, Unordered).
|
1969
|
+
kNGE_UQ = 0x19u, //!< Not Greater/Equal (Quiet , Unordered).
|
1970
|
+
kNGT_UQ = 0x1Au, //!< Not Greater (Quiet , Unordered).
|
1971
|
+
kFALSE_OS = 0x1Bu, //!< False (Signaling, Ordered).
|
1972
|
+
kNEQ_OS = 0x1Cu, //!< Not Equal (Signaling, Ordered).
|
1973
|
+
kGE_OQ = 0x1Du, //!< Greater/Equal (Quiet , Ordered).
|
1974
|
+
kGT_OQ = 0x1Eu, //!< Greater (Quiet , Ordered).
|
1975
|
+
kTRUE_US = 0x1Fu //!< True (Signaling, Unordered).
|
1976
|
+
};
|
1977
|
+
|
1978
|
+
//! An immediate value that can be used with VFIXUPIMM[PD|PS|SD|SS] instructions (AVX-512).
|
1979
|
+
//!
|
1980
|
+
//! The final immediate is a combination of all possible control bits.
|
1981
|
+
enum class VFixupImm : uint8_t {
|
1982
|
+
kNone = 0x00u,
|
1983
|
+
kZEOnZero = 0x01u,
|
1984
|
+
kIEOnZero = 0x02u,
|
1985
|
+
kZEOnOne = 0x04u,
|
1986
|
+
kIEOnOne = 0x08u,
|
1987
|
+
kIEOnSNaN = 0x10u,
|
1988
|
+
kIEOnNInf = 0x20u,
|
1989
|
+
kIEOnNegative = 0x40u,
|
1990
|
+
kIEOnPInf = 0x80u
|
1991
|
+
};
|
1992
|
+
ASMJIT_DEFINE_ENUM_FLAGS(VFixupImm)
|
1993
|
+
|
1994
|
+
//! An immediate value that can be used with VFPCLASS[PD|PS|SD|SS] instructions (AVX-512).
|
1995
|
+
//!
|
1996
|
+
//! The values can be combined together to form the final 8-bit mask.
|
1997
|
+
enum class VFPClassImm : uint8_t {
|
1998
|
+
kNone = 0x00u,
|
1999
|
+
kQNaN = 0x01u, //!< Checks for QNaN.
|
2000
|
+
kPZero = 0x02u, //!< Checks for +0.
|
2001
|
+
kNZero = 0x04u, //!< Checks for -0.
|
2002
|
+
kPInf = 0x08u, //!< Checks for +Inf.
|
2003
|
+
kNInf = 0x10u, //!< Checks for -Inf.
|
2004
|
+
kDenormal = 0x20u, //!< Checks for denormal.
|
2005
|
+
kNegative = 0x40u, //!< Checks for negative finite value.
|
2006
|
+
kSNaN = 0x80u //!< Checks for SNaN.
|
2007
|
+
};
|
2008
|
+
ASMJIT_DEFINE_ENUM_FLAGS(VFPClassImm)
|
2009
|
+
|
2010
|
+
//! An immediate value that can be used with VGETMANT[PD|PS|SD|SS] instructions (AVX-512).
|
2011
|
+
//!
|
2012
|
+
//! The value is a combination of a normalization interval and a sign control.
|
2013
|
+
enum class VGetMantImm : uint8_t {
|
2014
|
+
// Normalization Interval
|
2015
|
+
// ----------------------
|
2016
|
+
|
2017
|
+
k1To2 = 0x00u, //!< Normalization interval is [1, 2)
|
2018
|
+
k1Div2To2 = 0x01u, //!< Normalization interval is [0.5, 2)
|
2019
|
+
k1Div2To1 = 0x02u, //!< Normalization interval is [0.5, 1)
|
2020
|
+
k3Div4To3Div2 = 0x03u, //!< Normalization interval is [3/4, 3/2)
|
2021
|
+
|
2022
|
+
// Sign Control
|
2023
|
+
// ------------
|
2024
|
+
|
2025
|
+
kSrcSign = 0x00u, //!< Source sign.
|
2026
|
+
kNoSign = 0x04u, //!< Zero sign
|
2027
|
+
kQNaNIfSign = 0x08u //!< QNAN_Indefinite if sign(src) != 0, regardless of `kSignSrc` or `kNoSign`.
|
2028
|
+
};
|
2029
|
+
ASMJIT_DEFINE_ENUM_FLAGS(VGetMantImm)
|
2030
|
+
|
2031
|
+
//! A predicate used by VPCMP[U][B|W|D|Q] instructions (AVX-512).
|
2032
|
+
enum class VPCmpImm : uint8_t {
|
2033
|
+
kEQ = 0x00u, //!< Equal.
|
2034
|
+
kLT = 0x01u, //!< Less.
|
2035
|
+
kLE = 0x02u, //!< Less/Equal.
|
2036
|
+
kFALSE = 0x03u, //!< False.
|
2037
|
+
kNE = 0x04u, //!< Not Equal.
|
2038
|
+
kGE = 0x05u, //!< Greater/Equal.
|
2039
|
+
kGT = 0x06u, //!< Greater.
|
2040
|
+
kTRUE = 0x07u //!< True.
|
2041
|
+
};
|
2042
|
+
|
2043
|
+
//! A predicate used by VPCOM[U][B|W|D|Q] instructions (XOP).
|
2044
|
+
enum class VPComImm : uint8_t {
|
2045
|
+
kLT = 0x00u, //!< Less.
|
2046
|
+
kLE = 0x01u, //!< Less/Equal
|
2047
|
+
kGT = 0x02u, //!< Greater.
|
2048
|
+
kGE = 0x03u, //!< Greater/Equal.
|
2049
|
+
kEQ = 0x04u, //!< Equal.
|
2050
|
+
kNE = 0x05u, //!< Not Equal.
|
2051
|
+
kFALSE = 0x06u, //!< False.
|
2052
|
+
kTRUE = 0x07u //!< True.
|
2053
|
+
};
|
2054
|
+
|
2055
|
+
//! A predicate used by VRANGE[PD|PS|SD|SS] instructions (AVX-512).
|
2056
|
+
enum class VRangeImm : uint8_t {
|
2057
|
+
// Selector
|
2058
|
+
// --------
|
2059
|
+
|
2060
|
+
kSelectMin = 0x00u, //!< Select minimum value.
|
2061
|
+
kSelectMax = 0x01u, //!< Select maximum value.
|
2062
|
+
kSelectAbsMin = 0x02u, //!< Select minimum absolute value.
|
2063
|
+
kSelectAbsMax = 0x03u, //!< Select maximum absolute value.
|
2064
|
+
|
2065
|
+
// Sign
|
2066
|
+
// ----
|
2067
|
+
|
2068
|
+
kSignSrc1 = 0x00u, //!< Select sign of SRC1.
|
2069
|
+
kSignSrc2 = 0x04u, //!< Select sign of SRC2.
|
2070
|
+
kSign0 = 0x08u, //!< Set sign to 0.
|
2071
|
+
kSign1 = 0x0Cu //!< Set sign to 1.
|
2072
|
+
};
|
2073
|
+
ASMJIT_DEFINE_ENUM_FLAGS(VRangeImm)
|
2074
|
+
|
2075
|
+
//! A predicate used by VREDUCE[PD|PS|SD|SS] instructions (AVX-512).
|
2076
|
+
enum class VReduceImm : uint8_t {
|
2077
|
+
kRoundEven = 0x00u, //!< Round to nearest even.
|
2078
|
+
kRoundDown = 0x01u, //!< Round down.
|
2079
|
+
kRoundUp = 0x02u, //!< Round up.
|
2080
|
+
kRoundTrunc = 0x03u, //!< Truncate.
|
2081
|
+
kRoundCurrent = 0x04u, //!< Round to the current mode set.
|
2082
|
+
kSuppress = 0x08u, //!< Suppress exceptions.
|
2083
|
+
kFixedImmMask = 0xF0u //!< Fixed length value mask.
|
2084
|
+
};
|
2085
|
+
ASMJIT_DEFINE_ENUM_FLAGS(VReduceImm)
|
2086
|
+
|
2087
|
+
//! Creates a \ref VReduceImm from a combination of `flags` and `fixedPointLength`.
|
2088
|
+
static inline constexpr VReduceImm vReduceImm(VReduceImm flags, uint32_t fixedPointLength) noexcept {
|
2089
|
+
return flags | VReduceImm(fixedPointLength << 4);
|
2090
|
+
}
|
2091
|
+
|
2092
|
+
//! A predicate that can be used as an immediate value with VPTERNLOG[D|Q] instruction.
|
2093
|
+
//!
|
2094
|
+
//! There are 3 inputs to the instruction (\ref kA, \ref kB, \ref kC). Ternary logic can define any combination
|
2095
|
+
//! that would be performed on these 3 inputs to get the desired output - any combination of AND, OR, XOR, NOT
|
2096
|
+
//! is possible.
|
2097
|
+
//!
|
2098
|
+
//! \sa \ref tLogFromBits and \ref fLogIfElse
|
2099
|
+
enum class TLogImm : uint8_t {
|
2100
|
+
k0 = 0x00u, //!< 0 value.
|
2101
|
+
k1 = 0xFFu, //!< 1 value.
|
2102
|
+
kA = 0xF0u, //!< A value.
|
2103
|
+
kB = 0xCCu, //!< B value.
|
2104
|
+
kC = 0xAAu, //!< C value.
|
2105
|
+
|
2106
|
+
kNotA = kA ^ k1, //!< `!A` expression.
|
2107
|
+
kNotB = kB ^ k1, //!< `!B` expression.
|
2108
|
+
kNotC = kC ^ k1, //!< `!C` expression.
|
2109
|
+
|
2110
|
+
kAB = kA & kB, //!< `A & B` expression.
|
2111
|
+
kAC = kA & kC, //!< `A & C` expression.
|
2112
|
+
kBC = kB & kC, //!< `B & C` expression.
|
2113
|
+
kNotAB = kAB ^ k1, //!< `!(A & B)` expression.
|
2114
|
+
kNotAC = kAC ^ k1, //!< `!(A & C)` expression.
|
2115
|
+
kNotBC = kBC ^ k1, //!< `!(B & C)` expression.
|
2116
|
+
|
2117
|
+
kABC = kAB & kC, //!< `A & B & C` expression.
|
2118
|
+
kNotABC = kABC ^ k1 //!< `!(A & B & C)` expression.
|
2119
|
+
};
|
2120
|
+
ASMJIT_DEFINE_ENUM_FLAGS(TLogImm)
|
2121
|
+
|
2122
|
+
//! Creates an immediate that can be used by VPTERNLOG[D|Q] instructions.
|
2123
|
+
static inline constexpr TLogImm tLogFromBits(uint8_t b000, uint8_t b001, uint8_t b010, uint8_t b011, uint8_t b100, uint8_t b101, uint8_t b110, uint8_t b111) noexcept {
|
2124
|
+
return TLogImm(uint8_t(b000 << 0) |
|
2125
|
+
uint8_t(b001 << 1) |
|
2126
|
+
uint8_t(b010 << 2) |
|
2127
|
+
uint8_t(b011 << 3) |
|
2128
|
+
uint8_t(b100 << 4) |
|
2129
|
+
uint8_t(b101 << 5) |
|
2130
|
+
uint8_t(b110 << 6) |
|
2131
|
+
uint8_t(b111 << 7));
|
2132
|
+
}
|
2133
|
+
|
2134
|
+
//! Creates an if/else logic that can be used by VPTERNLOG[D|Q] instructions.
|
2135
|
+
static inline constexpr TLogImm fLogIfElse(TLogImm condition, TLogImm a, TLogImm b) noexcept { return (condition & a) | (~condition & b); }
|
2136
|
+
|
2137
|
+
//! Creates a shuffle immediate value that be used with SSE/AVX/AVX-512 instructions to shuffle 2 elements in a vector.
|
2138
|
+
//!
|
2139
|
+
//! \param a Position of the first component [0, 1].
|
2140
|
+
//! \param b Position of the second component [0, 1].
|
2141
|
+
//!
|
2142
|
+
//! Shuffle constants can be used to encode an immediate for these instructions:
|
2143
|
+
//! - `shufpd|vshufpd`
|
2144
|
+
static inline constexpr uint32_t shuffleImm(uint32_t a, uint32_t b) noexcept {
|
2145
|
+
return (a << 1) | b;
|
2146
|
+
}
|
2147
|
+
|
2148
|
+
//! Creates a shuffle immediate value that be used with SSE/AVX/AVX-512 instructions to shuffle 4 elements in a vector.
|
2149
|
+
//!
|
2150
|
+
//! \param a Position of the first component [0, 3].
|
2151
|
+
//! \param b Position of the second component [0, 3].
|
2152
|
+
//! \param c Position of the third component [0, 3].
|
2153
|
+
//! \param d Position of the fourth component [0, 3].
|
2154
|
+
//!
|
2155
|
+
//! Shuffle constants can be used to encode an immediate for these instructions:
|
2156
|
+
//! - `pshufw`
|
2157
|
+
//! - `pshuflw|vpshuflw`
|
2158
|
+
//! - `pshufhw|vpshufhw`
|
2159
|
+
//! - `pshufd|vpshufd`
|
2160
|
+
//! - `shufps|vshufps`
|
2161
|
+
static inline constexpr uint32_t shuffleImm(uint32_t a, uint32_t b, uint32_t c, uint32_t d) noexcept {
|
2162
|
+
return (a << 6) | (b << 4) | (c << 2) | d;
|
2163
|
+
}
|
2164
|
+
|
2165
|
+
//! \}
|
2166
|
+
|
2167
|
+
ASMJIT_END_SUB_NAMESPACE
|
2168
|
+
|
2169
|
+
#endif // ASMJIT_X86_X86GLOBALS_H_INCLUDED
|