From ea99fa9f7982434b55ba24c3af53173c67a4e35d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Valensi?= Date: Wed, 21 Sep 2016 14:29:16 +0200 Subject: [PATCH] Sync --- CMakeLists.txt | 5 +- README | 15 +- README.md | 23 +- doc/manual/vprof/Makefile | 2 - doc/manual/vprof/call_intro.tex | 73 - doc/manual/vprof/intro.tex | 101 - doc/manual/vprof/loop_exec.tex | 61 - doc/manual/vprof/loop_instru.tex | 97 - doc/manual/vprof/loop_intro.tex | 72 - doc/manual/vprof/loop_report.tex | 84 - doc/manual/vprof/manual.tex | 113 - profiles/default.profile | 18 +- profiles/release.intel64-xeonphi.profile | 14 +- ...elease.intel64.profile => release.profile} | 16 +- src/LuaJIT/src/lj_arch.h | 2 +- src/common/la_block.c | 43 + src/common/la_fct.c | 33 + src/common/la_loop.c | 47 + src/common/la_oprnd.c | 41 +- src/common/lc_bitvector.c | 4 +- src/common/lc_txtfile.c | 9 +- src/common/libmasm.h | 45 + src/lua-5.1.5/CMakeLists.txt | 7 +- src/madras/elf.h | 7 +- src/madras/k1om/k1om_ext.c | 15 +- src/madras/libdwarf/libdwarf.h | 3376 - src/madras/libmdbg.c | 22 +- src/madras/libmtroll.c | 51 +- src/madras/x86_64/x86_64_arch.c | 3024 +- src/madras/x86_64/x86_64_arch.h | 15264 +- src/madras/x86_64/x86_64_assembler.c | 2 +- src/madras/x86_64/x86_64_assembler.h | 119694 +++++++------- src/madras/x86_64/x86_64_ext.c | 11 +- src/madras/x86_64/x86_64_fct.h | 484 +- src/madras/x86_64/x86_64_fct_0.c | 1912 +- src/madras/x86_64/x86_64_fct_1.c | 4210 +- src/madras/x86_64/x86_64_fct_2.c | 4214 +- src/madras/x86_64/x86_64_fct_3.c | 4218 +- src/madras/x86_64/x86_64_fct_4.c | 4226 +- src/madras/x86_64/x86_64_fct_5.c | 4226 +- src/madras/x86_64/x86_64_fct_6.c | 4238 +- src/madras/x86_64/x86_64_fct_7.c | 4238 +- src/madras/x86_64/x86_64_fct_8.c | 4218 +- src/madras/x86_64/x86_64_fct_9.c | 4214 +- src/madras/x86_64/x86_64_fct_a.c | 4206 +- src/madras/x86_64/x86_64_fct_b.c | 4276 +- src/madras/x86_64/x86_64_fct_c.c | 2229 +- src/madras/x86_64/x86_64_fct_d.c | 2235 +- src/madras/x86_64/x86_64_fct_e.c | 2144 +- src/madras/x86_64/x86_64_fct_f.c | 1875 +- src/madras/x86_64/x86_64_finalfct.c | 21148 +-- src/madras/x86_64/x86_64_finalfct.h | 10553 +- src/madras/x86_64/x86_64_fsm.c | 2 +- src/madras/x86_64/x86_64_fsm.h | 121874 ++++++++------- src/madras/x86_64/x86_64_revfct.h | 31 +- src/madras/x86_64/x86_64_revfct_0.c | 1471 +- src/madras/x86_64/x86_64_revfct_1.c | 7457 +- src/madras/x86_64/x86_64_revfct_2.c | 8180 +- src/madras/x86_64/x86_64_revfct_3.c | 8063 +- src/madras/x86_64/x86_64_revfct_4.c | 8974 +- src/madras/x86_64/x86_64_revfct_5.c | 8818 +- src/madras/x86_64/x86_64_revfct_6.c | 9016 +- src/madras/x86_64/x86_64_revfct_7.c | 8302 +- src/madras/x86_64/x86_64_revfct_8.c | 10634 +- src/madras/x86_64/x86_64_revfct_9.c | 10862 +- src/madras/x86_64/x86_64_revfct_a.c | 11231 +- src/madras/x86_64/x86_64_revfct_b.c | 10425 +- src/madras/x86_64/x86_64_revfct_c.c | 10800 +- src/madras/x86_64/x86_64_revfct_d.c | 10564 +- src/madras/x86_64/x86_64_revfct_e.c | 10680 +- src/madras/x86_64/x86_64_revfct_f.c | 11910 +- src/madras/x86_64/x86_64_sym.h | 2 +- src/madrasAPI/libmadras.c | 11 +- src/madrasAPI/libmadras.h | 8 +- src/madrasAPI/x86_64/x86_64_finalfct.c | 21148 +-- src/madrasAPI/x86_64/x86_64_finalfct.h | 10553 +- src/maqao/generate_build.lua.in | 13 +- src/maqao/uarch_detector.c | 274 +- src/maqao/uarch_detector.h | 2 + src/maqao/x86_64/x86_64_finalfct.c | 21148 +-- src/maqao/x86_64/x86_64_finalfct.h | 10553 +- src/maqao/x86_64/x86_64_macrofinal.h | 17 +- src/maqao/x86_64/x86_64_uops.h | 19 +- src/plugins/analyze/list_loops.lua | 7 +- .../built_in/abstract_objects/block/lines.lua | 3 + .../built_in/abstract_objects/fct/lines.lua | 3 + .../built_in/abstract_objects/insn/vect.lua | 16 +- .../built_in/abstract_objects/loop.lua.in | 2 + .../abstract_objects/loop/induction.lua | 422 + .../built_in/abstract_objects/loop/lines.lua | 3 + .../built_in/abstract_objects/loop/stream.lua | 144 + .../built_in/abstract_objects/stub/ao_block.c | 27 + .../abstract_objects/stub/ao_block.luadoc | 11 +- .../abstract_objects/stub/ao_function.c | 11 + .../abstract_objects/stub/ao_function.luadoc | 6 + .../built_in/abstract_objects/stub/ao_insn.c | 4 +- .../built_in/abstract_objects/stub/ao_loop.c | 27 + .../abstract_objects/stub/ao_loop.luadoc | 10 + .../abstract_objects/stub/ao_project.c | 7 + src/plugins/built_in/classes.lua.in | 1 + src/plugins/built_in/classes/Consts.lua.in | 3 + src/plugins/built_in/classes/Consts/ia32.lua | 3 +- src/plugins/built_in/classes/Stream.lua | 311 + src/plugins/built_in/classes/Utils.lua.in | 2 +- src/plugins/main.lua | 4 +- 105 files changed, 282564 insertions(+), 282960 deletions(-) delete mode 100644 doc/manual/vprof/Makefile delete mode 100644 doc/manual/vprof/call_intro.tex delete mode 100644 doc/manual/vprof/intro.tex delete mode 100644 doc/manual/vprof/loop_exec.tex delete mode 100644 doc/manual/vprof/loop_instru.tex delete mode 100644 doc/manual/vprof/loop_intro.tex delete mode 100644 doc/manual/vprof/loop_report.tex delete mode 100644 doc/manual/vprof/manual.tex rename profiles/{release.intel64.profile => release.profile} (89%) delete mode 100644 src/madras/libdwarf/libdwarf.h create mode 100644 src/plugins/built_in/abstract_objects/loop/induction.lua create mode 100644 src/plugins/built_in/abstract_objects/loop/stream.lua create mode 100644 src/plugins/built_in/classes/Stream.lua diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b5d76a..4fce06d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,7 @@ ENDFOREACH(ARCH) ## ------------------------------------------------------------------## SET(BASE_C_FLAGS "") +MESSAGE("-- Using C compiler ${CMAKE_C_COMPILER}") # Use DEBUG variable to activate or not debug macros for MAQAO IF ("x${DEBUG}" STREQUAL "xtrue") @@ -273,10 +274,6 @@ ELSE () SET (DISTCLEAN_LUA distclean_luajit) ENDIF () -IF ("X${IS_GIT}" STREQUAL "X") - SET(IS_GIT false) -ENDIF () - IF( "X${VERSION_HASH}" STREQUAL "X" ) SET(VERSION_HASH "Version not available") ENDIF () diff --git a/README b/README index 9751d53..99dca18 100644 --- a/README +++ b/README @@ -15,8 +15,9 @@ If you choose the original lua package (and not luajit) then you will also need: ##### Installation ##### MAQAO is a cmake based project. Go into the MAQAO folder -Get into the MAQAO folder and create a "build" folder. +If no "build" directory is present, create it $ mkdir build +Go into the build folder: $ cd build Then run the following commands: $ cmake .. @@ -32,15 +33,15 @@ Generated files are available trough a web browser. The LUA API documentation is DeveloperGuide.html and the C API documentation is called CoreDeveloperGuide.html. Both are located in MAQAO/doc -##### Running MAQAO tools ##### -You can launch a MAQAO tool with the following command: - $ maqao [args] -For instance to list a binary's functions: +##### Running MAQAO modules ##### +A MAQAO module can be launched with the following command: + $ maqao [args] +For instance to list the functions in the binary /path_to/my_binary: $ maqao analyze --list-functions /path_to/my_binary -The -h option provides help for a given tool. +The -h option provides help for a given module. -To execute user-defined MAQAO/Lua scripts use: +To execute user-defined MAQAO/Lua scripts, use: $ maqao [args] Note that MAQAO scripts are Lua scripts that can use the MAQAO Lua API extensions (see documentation for more information) diff --git a/README.md b/README.md index 2012377..2cf5048 100644 --- a/README.md +++ b/README.md @@ -22,38 +22,39 @@ If you choose the original lua package (and not luajit) then you will also need: # Installation MAQAO is a cmake based project. -Get into the MAQAO folder and create a "build" folder. +Go into the MAQAO folder +If no "build" directory is present, create it ` >$ mkdir build` +Go into the build folder: ` >$ cd build` Then run the following commands: ` >$ cmake ..` ` >$ make` -# Documentation +# Documentation The documentation generation is optional and need several softwares: - for the LUA API documentation, luadoc is needed (http://keplerproject.github.com/luadoc/) - for the C API documentation, doxygen is needed (http://www.stack.nl/~dimitri/doxygen/) - + To build the documentation, go in the build directory and type: ` >$ make doc` Generated files are available trough a web browser. The LUA API documentation is called DeveloperGuide.html and the C API documentation is called CoreDeveloperGuide.html. Both are located in MAQAO/doc - -# Running MAQAO tools -You can launch a MAQAO tool with the following command: -` >$ maqao [args] ` -For instance to list a binary's functions: +# Running MAQAO modules +A MAQAO module can be launched with the following command: +` >$ maqao [args] ` +For instance to list the functions in the binary /path_to/my_binary: ` >$ maqao analyze --list-functions /path_to/my_binary` -The -h option provides help for a given tool. +The -h option provides help for a given module. -To execute user-defined MAQAO/Lua scripts use: +To execute user-defined MAQAO/Lua scripts, use: ` >$ maqao [args] ` -Note that MAQAO scripts are Lua script that can use the MAQAO Lua API extensions (see documentation for more information). +Note that MAQAO scripts are Lua scripts that can use the MAQAO Lua API extensions (see documentation for more information) For general help on MAQAO: diff --git a/doc/manual/vprof/Makefile b/doc/manual/vprof/Makefile deleted file mode 100644 index 55df289..0000000 --- a/doc/manual/vprof/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -all: - pdflatex manual.tex diff --git a/doc/manual/vprof/call_intro.tex b/doc/manual/vprof/call_intro.tex deleted file mode 100644 index 857b005..0000000 --- a/doc/manual/vprof/call_intro.tex +++ /dev/null @@ -1,73 +0,0 @@ -\section{Function call characterization} - -VPROF can instrument a binary to make it dump the parameters and the returned -values of a function call. - -\subsection{Selecting function calls} - -To select function calls, you have to use the following command: - -\begin{center} -\texttt{--calls=[NAME-REGS,]*} -\end{center} - -NAME is the name of the function (its symbol). REGS is a specification of the -registers to dump. Currently registers are specified as a bitset: - -\begin{tabular}{|c|c|} - \hline - Bit & Register \\ - \hline - 0 & RAX \\ - 1 & RCX \\ - 2 & RDX \\ - 3 & RBX \\ - 4 & RBP \\ - 5 & RSI \\ - 6 & RDI \\ - 7 & R8 \\ - 8 & R9 \\ - 9 & R10 \\ - 10 & R11 \\ - 11 & R12 \\ - 12 & R13 \\ - 13 & R14 \\ - 14 & R15 \\ - 15 & FLAGS \\ - 16 & XMM0\_high \\ - 16 & XMM0\_low \\ - 17 & XMM1\_high \\ - 17 & XMM1\_low \\ - 18 & XMM2\_high \\ - 18 & XMM2\_low \\ - 19 & XMM3\_high \\ - 19 & XMM3\_low \\ - 20 & XMM4\_high \\ - 20 & XMM4\_low \\ - 21 & XMM5\_high \\ - 21 & XMM5\_low \\ - 22 & XMM6\_high \\ - 22 & XMM6\_low \\ - 23 & XMM7\_high \\ - 23 & XMM7\_low \\ - 24 & XMM8\_high \\ - 24 & XMM8\_low \\ - 25 & XMM9\_high \\ - 25 & XMM9\_low \\ - 26 & XMM10\_high \\ - 26 & XMM10\_low \\ - 27 & XMM11\_high \\ - 27 & XMM11\_low \\ - 28 & XMM12\_high \\ - 28 & XMM12\_low \\ - 29 & XMM13\_high \\ - 29 & XMM13\_low \\ - 30 & XMM14\_high \\ - 30 & XMM14\_low \\ - 31 & XMM15\_high \\ - 31 & XMM15\_low \\ - 32 & Returned RAX \\ - 33 & Returned XMMO\_high \\ - 33 & Returned XMMO\_low \\ - \hline -\end{tabular} diff --git a/doc/manual/vprof/intro.tex b/doc/manual/vprof/intro.tex deleted file mode 100644 index 5999778..0000000 --- a/doc/manual/vprof/intro.tex +++ /dev/null @@ -1,101 +0,0 @@ -\section{Introduction} - -MAQAO Value Profiler (VPROF) is a tool to characterize elements of your applications -such as loops and function calls. It can be used to understand the behavior of -your programs or to determine how to specialize some of their parts to improve -performance. - -\subsection{Overview} - -VPROF is composed of three phases: -\begin{enumerate} - \item Instrumentation - \item Execution - \item Reporting -\end{enumerate} - -The three phases can be executed independently by reusing results of the -previous phases. In order to reuse results, you must specify a project (i.e. a -folder) into which results are stored and read from. - -The basic command line for this is: -\begin{center} -\texttt{maqao vprof BIN --project=PROJECT} -\end{center} - -The structure of the project directory is described in Figure~\ref{fig:project}. - -\begin{figure*} - \begin{description} - \item[PROJECT/BIN] \hfill \\ original binary - \item[PROJECT/config] \hfill \\ project configuration (binary name, checksum, etc.) - \item[PROJECT/latest.conf] \hfill \\ - latest configuration - \item[PROJECT/vprof] \hfill \\ - vprof specific files (the project directory is designed to support - other MAQAO modules) - \item[PROJECT/vprof/instruNNNN] \hfill \\ - instrumentation directory where NNNN is the instrumentation number. - Can be safely deleted to remove an instrumentation - \item[PROJECT/vprof/instruNNNN/instru.conf] \hfill \\ - Configuration of the instrumentation (list of key=value) - \item[PROJECT/vprof/instruNNNN/BIN] \hfill \\ - Patched binary for this instrumentation - \item[PROJECT/vprof/instruNNNN/runRRRR] \hfill \\ - Execution directory where RRRR is the execution number - \item[PROJECT/vprof/instruNNNN/runRRRR/run.conf] \hfill \\ - Properties of the execution - \item[PROJECT/vprof/instruNNNN/runRRRR/env] \hfill \\ - Execution environment - \item[PROJECT/vprof/instruNNNN/runRRRR/output] \hfill \\ - STDOUT and STDERR of the executed application - \item[PROJECT/vprof/instruNNNN/runRRRR/host-HOST] \hfill \\ - File dumped on a specific host (HOST is the hostname) - \item[PROJECT/vprof/instruNNNN/runRRRR/host-HOST/pid-PID] \hfill \\ - File dumped by a specific process (PID is the processus identifier) - \item[PROJECT/vprof/instruNNNN/runRRRR/host-HOST/pid-PID/loopLLLL.*] \hfill \\ - File dumped for a specific loop (LLLL is the loop ID in the original - binary) - \begin{description} - \item[loopLLLL.stats] Loop general statistics: minimum, maximum, average for - cycles, iterations and cycles/iteration. Buckets for - cycles/iteration. - \item[loopLLLL.iterations] Iteration count for all the instances - (optional) - \item[loopLLLL.cycles] Cycles measures for all the instances - (optional) - \item[loopLLLL.paths] Counters for the number of traversals of the - links between two blocks of the loop (optional) - \end{description} - \item[PROJECT/vprof/instruNNNN/runRRRR/host-HOST/pid-PID/FCT.calls] \hfill \\ - Calls to the function FCT (with the dumped register values) - \end{description} -\caption{Project directory structure} -\label{fig:project} -\end{figure*} - -\subsection{Configuration} - -The current configuration of VPROF is printed before its execution. To only -display it without performing the execution, use the \texttt{--dry} command. - -To reuse the latest configuration of a project, use \texttt{--latest}. The -configuration is overrided by the parameters passed on the command line. - -\subsection{Mode selection} - -VPROF currently supports several modes: -\begin{itemize} - \item Original: bench the original program - \item Loops: instrument loops - \item Function calls: instrument function calls -\end{itemize} - -Depending on what you want to characterize, you have to select one of them with -the "mode" command: -\begin{center} -\texttt{--mode=[loops,calls,original]} -\end{center} - -If no mode is specified, the "loops" mode is selected by default. The next two -sections describe each mode in details. diff --git a/doc/manual/vprof/loop_exec.tex b/doc/manual/vprof/loop_exec.tex deleted file mode 100644 index 61cab06..0000000 --- a/doc/manual/vprof/loop_exec.tex +++ /dev/null @@ -1,61 +0,0 @@ -\subsection{Execution} - -VPROF controls the execution of the instrumented binary. It allows it to -configure the execution (through environment variables) to store results into -the appropriate directory and to dump the program output into a file for -debugging purpose. - -To enable the execution phase, you can use the "run" option: -\begin{center} -\texttt{--run=[cycles,iterations,none]*} -\end{center} - -By default, VPROF selects the phases that have been selected in the -instrumentation phase. - -\subsubsection{Application parameters} - -If your application requires specific command-line parameters, you can customize -the command executed by VPROF with the "run-cmd" option. You can also use this -option to execute your program through a tierce application (e.g. mpirun). - -In the following example, VPROF replaces \{MAQAO\_BIN\} with the application -path. Hence the program is executed through "mpirun" and with the "arg1" -parameter. -\begin{center} -\texttt{--run-cmd="mpirun -n 12 \{MAQAO\_BIN\} --arg1"} -\end{center} - -Alternatively, you can specify command prefix and suffix independently. If you -want to specify a prefix to the command, use the following parameter: -\begin{center} -\texttt{--run-cmd-prefix="mpirun -n 12"} -\end{center} - -If you want to specify parameters to the command, use "--" before the name of -your binary and its parameters: -\begin{center} -\texttt{... -- mybinary --arg1 --arg2"} -\end{center} - -\subsubsection{Selecting a previous execution} - -If you want to select the results from a previous execution (i.e. without -performing it again), you can select it with its unique identifier. Each -instrumentation directory contains one "runXXXX" directory per execution where -XXXX is the execution identifier. - -To select the execution, use the following parameter: -\begin{center} -\texttt{--run-id=XXXX}\\ -\end{center} - -Note that you can specify "latest" instead of a specific identifer. It will -select the last execution. - -In the multi-pass case, you can select two executions (one for cycles, one for -iterations) with the following parameters: -\begin{center} -\texttt{--run-cycle-id=XXXX}\\ -\texttt{--run-iter-id=YYYY} -\end{center} diff --git a/doc/manual/vprof/loop_instru.tex b/doc/manual/vprof/loop_instru.tex deleted file mode 100644 index ebd88f8..0000000 --- a/doc/manual/vprof/loop_instru.tex +++ /dev/null @@ -1,97 +0,0 @@ -\subsection{Instrumentation} - -VPROF can instrument a binary to make it dump the metrics for the selected -loops. You can control the process in different ways. - -To enable the instrumentation and to select the metrics you are interested in, you -can use the "instrument" command-line parameter: - -\begin{center} -\texttt{--instrument=[cycles,iterations,none]*} -\end{center} - -\subsubsection{Multi-pass mode} - -To measure the number of iterations, VPROF inserts some code executed at each -iteration. If you want to measure both cycles and iterations at the same time, -the inserted code will be counted into the reported cycles! While the inserted -code is often negligible, you can use the multi-pass mode to avoid this: two -instrumentations and two -executions of the program are performed (one for the cycles, one for the -iterations) and the results of both are associated. For this to work, you must -be sure that your code is executed deterministically. - -Use the following parameter to enable the multi-pass mode: -\begin{center} -\texttt{--multi-pass} -\end{center} - -Warning: this option forces the "store-instances" option that uses much more -memory: to compute cycles per iteration, we must store all the cycles and -iterations values instead of statistics such as average, min, max, etc. - -\subsubsection{Serialization} - -Intel processors use out-of-order execution of the instructions. This can be a -problem when we measure cycles: some instructions fetched before the portion of -code we measure can be included in the measure; some of the instructions we want -to measure can be excluded from the measure. To avoid this, it is possible to -use serializing instructions before and after the code we want to measure. In -VPROF, we use RDTSC and RDTSCP accordingly to Intel's whitepaper\footnote{How -to benchmark code execution times on Intel IA-32 and IA-64 instruction set -architectures}. - -Use "serializing-timers" option (or "s") to enable this feature: -\begin{center} -\texttt{--serializing-timers} -\end{center} - -Note that some applications can take longer to execute with this option. - -\subsubsection{Storage} - -Binaries instrumented with VPROF generate values (iterations, cycles, etc.) that -are later processed by VPROF to generate reports. By default, instrumented -programs keep the values in memory and write them in a file at the end of their -execution. This avoids performing costly IOs during program execution that could -change the behavior of the program. - -It is undesirable, however, to have too many data in memory, because it can make -the system use swap memory. If you want VPROF to directly store data on disk, -you can use the "storage" option with the "disk" parameter. - -\begin{center} -\texttt{--storage=[disk,memory]} -\end{center} - -By default, it is not necessary to store metrics per instance: average, minimal -and maximal values can be computed on the fly. In some cases, however, we want -to store the cycles and iterations per instance. To do that, use the -"store-instances" option: - -\begin{center} -\texttt{--store-instances} -\end{center} - -This option is enforced when you use the multi-pass mode (in order to compute -cycles per iteration), when you want to compute advanced statistics that -cannot be computed on the fly (see "full-stats" reporting mode) or when you -want to dump these values (see "instances" report-mode option). - -Warning: be careful when you use memory storage and the "store-instances" option: the -latter requires much more memory. - - -\subsubsection{Selecting a previous instrumentation} - -If you want to reuse an existing instrumentation for the execution or the -reporting phase, you can select it with its identifier. Identifiers are given -when the instrumentation is done and can be found in the project directory: -"myproject/vprof/instruXXXX" where XXXX is the ID of the instrumentation. - -Use the following parameters to select the instrumentations: -\begin{center} -\texttt{--instru-cycle-id=XXXX}\\ -\texttt{--instru-iter-id=YYYY} -\end{center} - diff --git a/doc/manual/vprof/loop_intro.tex b/doc/manual/vprof/loop_intro.tex deleted file mode 100644 index 18dca25..0000000 --- a/doc/manual/vprof/loop_intro.tex +++ /dev/null @@ -1,72 +0,0 @@ -\section{Loop characterization} - -A loop is a set of basic blocks that are executed repeatedly (partial or -conditional execution is possible). Each loop has the following metrics: - -\begin{itemize} - \item The number of instances: how many times the loop is entered (and - exited) -\end{itemize} - -\noindent Each loop instance has the following metrics: -\begin{itemize} - \item The number of iterations: how many times the set of basic blocks is - executed - \item Duration: the time it took (in cycles) to execute the whole instance -\end{itemize} - -\subsection{Probes} - -To measure the duration of a loop, VPROF inserts some code between each -predecessor of the loop entry blocks and the loop entry blocks; similarily it -inserts some code between exit blocks and their successors. - -Iteration counting is a little bit trickier. Depending on the detected loop -pattern, the insertion will be different. -\begin{enumerate} - \item First, if VPROF detects a loop with a single entry and a single exit, - it detects the block evaluating the exit condition. It tries to find an - instruction before which it can insert an increment instruction (e.g. INC - in x86 ISA) without doing noticable side effects (e.g. on x86 the detected - instruction will overwrite flags modified by the INC instruction). - \item If it cannot find a correct instruction, it inserts an increment - instruction surrounded with context saving instructions to avoid making - noticable side effect. These instructions are usually costly (e.g. - PUSHFP/POPFP on x86). - \item If the loop pattern is not recognized, backedges are instrumented. - Backedges are control-flow from a block of the loop towards an entry block of - the loop. -\end{enumerate} - -In the two first cases, the number of iterations is precisely determined. In the -last case, it can be wrong if the loop is too convoluted. However, the first -cases cover most of the innermost hottest loops. - -\subsection{Loop selection} - -In order to select the loops you are interested in characterizing, you must use -the command-line parameter "loop-id" (or "lid"). You can specify several loops -at once: -\begin{center} -\texttt{--loop-id=5,487,96,87} -\end{center} - -Two parented loops cannot be instrumented at the same time, otherwise the -measure of the number of cycles would be too wrong: the outer loop would -measure the number of cycles taken to dump data on disk, etc. - -By default, VPROF stops if it detects that two selected loops are parented. It -is possible, however, to let the process continue with a subset of the selected -loops by using the "allow-invalid-loops" option. In this case, for two selected -parented loops, the outer one will be selected. - -\begin{center} -\texttt{--allow-invalid-loops} -\end{center} - -\subsection{Loop paths} - -VPROF can report paths that are heavily used in loops with the -\texttt{--enable-loop-paths} option. For every couple of consecutive blocks in a -loop, it adds a counter between both blocks that is incremented when the path is -taken. diff --git a/doc/manual/vprof/loop_report.tex b/doc/manual/vprof/loop_report.tex deleted file mode 100644 index cc1d49a..0000000 --- a/doc/manual/vprof/loop_report.tex +++ /dev/null @@ -1,84 +0,0 @@ -\subsection{Reporting} - -The reporting phase consists in computing statistics and generating a report for -the user. Several report formats are supported as well as different kinds of -statistics. - -\subsubsection{Report modes} - -To enable the report phase, use the following option with any parameter except -"none": -\begin{center} -\texttt{--report-mode=}\\ -\texttt{[none,stats,full-stats,instances,mpi]} -\end{center} - -This selected report mode is as follows: -\begin{itemize} - \item stats: simple statistics that can be computed on the fly (average, - minimal, maximal, etc.) - \item full-stats: statistics that require all instances (median, quartiles, - etc.) - \item instances: dump cycles and iterations for all instances (useful to - parse with your own scripts for instance) - \item mpi: statistics for several processes -\end{itemize} - -By default, VPROF generates a report with the "stats" mode.\\ - -\noindent\textbf{MPI mode} - -By default, VPROF selects the first process it finds to generate its report. To -select another process, use the following options to select the host name and -the process identifier: - -\begin{center} -\texttt{--report-host=HOST}\\ -\texttt{--report-pid=XXXX} -\end{center} - -VPROF dumps results into "host-HOST/pid-XXXX" directories in the execution -directory.\\ - -\noindent\textbf{Instances mode} - -When the "instances" mode is selected, the number of instances can be too large -for the report to be useful. To select only a few instances, use the -"filter-instances" option: - -\begin{center} -\texttt{--filter-instances=[N,last,middle]} -\end{center} - -This option accepts a comma-separated list of instance numbers. In addition, the -following keywords can be used as instance numbers: -\begin{itemize} - \item last: the last instance - \item middle: the (last/2) instance -\end{itemize} - -\subsubsection{Output path} - -By default the report is dumped on the standard output. To write it in a file, -use the "output-path" (or "op") option: -\begin{center} -\texttt{--output-path=my\_report.html} -\end{center} - -\subsubsection{Output format} - -To select the output format, use the "output-format" (or "of") option: -\begin{center} -\texttt{--output-format=[text,csv,html,arff]} -\end{center} - -The output format are: -\begin{itemize} - \item text: MarkDown text format - \item csv: comma-separated-values - \item html: HTML output with fancy charts - \item arff: attribute-relation file format, similar to CSV but with typed fields. This format is recognized - by Weka data-mining software. -\end{itemize} - -The default output format is "text". diff --git a/doc/manual/vprof/manual.tex b/doc/manual/vprof/manual.tex deleted file mode 100644 index f3fd947..0000000 --- a/doc/manual/vprof/manual.tex +++ /dev/null @@ -1,113 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Large Colored Title Article -% LaTeX Template -% Version 1.1 (25/11/12) -% -% This template has been downloaded from: -% http://www.LaTeXTemplates.com -% -% Original author: -% Frits Wenneker (http://www.howtotex.com) -% -% License: -% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%---------------------------------------------------------------------------------------- -% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS -%---------------------------------------------------------------------------------------- - -\documentclass[DIV=calc, paper=a4, fontsize=11pt, twocolumn]{scrartcl} % A4 paper and 11pt font size - -\usepackage{lipsum} % Used for inserting dummy 'Lorem ipsum' text into the template -\usepackage[english]{babel} % English language/hyphenation -\usepackage[protrusion=true,expansion=true]{microtype} % Better typography -\usepackage{amsmath,amsfonts,amsthm} % Math packages -\usepackage[svgnames]{xcolor} % Enabling colors by their 'svgnames' -\usepackage[hang, small,labelfont=bf,up,textfont=it,up]{caption} % Custom captions under/above floats in tables or figures -\usepackage{booktabs} % Horizontal rules in tables -\usepackage{fix-cm} % Custom font sizes - used for the initial letter in the document - -\usepackage{sectsty} % Enables custom section titles -\allsectionsfont{\usefont{OT1}{phv}{b}{n}} % Change the font of all section commands - -\usepackage{fancyhdr} % Needed to define custom headers/footers -\pagestyle{fancy} % Enables the custom headers/footers -\usepackage{lastpage} % Used to determine the number of pages in the document (for "Page X of Total") - -% Headers - all currently empty -\lhead{} -\chead{} -\rhead{} - -% Footers -\lfoot{} -\cfoot{} -\rfoot{\footnotesize Page \thepage\ of \pageref{LastPage}} % "Page 1 of 2" - -\renewcommand{\headrulewidth}{0.0pt} % No header rule -\renewcommand{\footrulewidth}{0.4pt} % Thin footer rule - -\usepackage{lettrine} % Package to accentuate the first letter of the text -\newcommand{\initial}[1]{ % Defines the command and style for the first letter -\lettrine[lines=3,lhang=0.3,nindent=0em]{ -\color{DarkGoldenrod} -{\textsf{#1}}}{}} - -%---------------------------------------------------------------------------------------- -% TITLE SECTION -%---------------------------------------------------------------------------------------- - -\usepackage{titling} % Allows custom title configuration - -\newcommand{\HorRule}{\color{DarkGoldenrod} \rule{\linewidth}{1pt}} % Defines the gold horizontal rule around the title - -\pretitle{\vspace{-30pt} \begin{flushleft} \HorRule \fontsize{45}{45} \usefont{OT1}{phv}{b}{n} \color{DarkRed} \selectfont} % Horizontal rule before the title - -\title{MAQAO Value Profiler} % Your article title - -\posttitle{\par\end{flushleft}\vskip 0.5em} % Whitespace under the title - -\preauthor{\begin{flushleft}\large \lineskip 0.5em \usefont{OT1}{phv}{b}{sl} \color{DarkRed}} % Author font configuration - -\author{Sylvain HENRY, } % Your name - -\postauthor{\footnotesize \usefont{OT1}{phv}{m}{sl} \color{Black} % Configuration for the institution name -University of Versailles % Your institution - -\par\end{flushleft}\HorRule} % Horizontal rule after the title - -\date{} % Add a date here if you would like one to appear underneath the title block - -%---------------------------------------------------------------------------------------- - -\begin{document} - -\maketitle % Print the title - -\thispagestyle{fancy} % Enabling the custom headers/footers for the first page - -%---------------------------------------------------------------------------------------- -% ABSTRACT -%---------------------------------------------------------------------------------------- - -% The first character should be within \initial{} -\initial{V}\textbf{alue profiling consists in characterizing application -elements (loops, functions, etc.) with values such as the number of iterations, -the number of cycles, the calling parameters. In this article, we present MAQAO -Value Profiler module.} - -\tableofcontents - -\vfill -\newpage - -\input{intro.tex} -\input{loop_intro.tex} -\input{loop_instru.tex} -\input{loop_exec.tex} -\input{loop_report.tex} -\input{call_intro.tex} - -\end{document} diff --git a/profiles/default.profile b/profiles/default.profile index 1109420..788af69 100644 --- a/profiles/default.profile +++ b/profiles/default.profile @@ -3,32 +3,32 @@ # Sets the list of architectures to be handled by MAQAO, separated by ';'. # Possible values: x86_64, k1om, ia32. Default value: "x86_64" -SET(ARCHS x86_64;k1om) +#SET(ARCHS x86_64) # The optimisation level (higher is more optimised). # Possible values: 0 / 1 / 2 (default) / 3 -SET(OPTIM_LVL 0) +#SET(OPTIM_LVL 2) # Set the Lua interpreter. # Possible values: lua / luajit (default) -SET(LUA luajit) +#SET(LUA luajit) # Specifies whether the binary must be stripped. # Possible values: true (default) / false -SET(STRIP false) +#SET(STRIP true) # Specifies if the debug info and MAQAO debug macros must be activated. # Possible values: true / false (default) -SET(DEBUG true) +#SET(DEBUG false) # A list of MAQAO Lua modules to not include in the static binary separated by ';' -SET(EXCLUDE_MODULES "") +#SET(EXCLUDE_MODULES "") # A list of tags in the source code to not include in the static binary separated by ';' -SET(EXCLUDE_CODE "") +#SET(EXCLUDE_CODE "") # A list of MAQAO Lua modules to include in the static binary separated by ';' -SET(INCLUDE_MODULES "") +#SET(INCLUDE_MODULES "") # Specifies if the MAQAO binary should be linked as a static executable or if the external libraries (libdl, libdm, ...) must be dynamically linked. # Possible values: STATIC (default) / EXTERNAL_DYNAMIC @@ -36,7 +36,7 @@ SET(INCLUDE_MODULES "") # Specifies whether MAQAO is being compiled for a different architecture than the current one. # Possible values: true / false (default) -SET(CROSS_COMPILATION false) +#SET(CROSS_COMPILATION false) # Set the compiler used to compile C code for target architecture (local if not cross-compiling). # Possible values: "gcc", "icc", etc. Default value is system default. diff --git a/profiles/release.intel64-xeonphi.profile b/profiles/release.intel64-xeonphi.profile index ebee216..a17b5e0 100644 --- a/profiles/release.intel64-xeonphi.profile +++ b/profiles/release.intel64-xeonphi.profile @@ -11,24 +11,24 @@ SET(OPTIM_LVL 3) # Set the Lua interpreter. # Possible values: lua / luajit (default) -SET(LUA lua) +#SET(LUA luajit) # Specifies whether the binary must be stripped. # Possible values: true (default) / false -SET(STRIP true) +#SET(STRIP true) # Specifies if the debug info and MAQAO debug macros must be activated. # Possible values: true / false (default) -SET(DEBUG false) +#SET(DEBUG false) # A list of MAQAO Lua modules to not include in the static binary separated by ';' -SET(EXCLUDE_MODULES "") +#SET(EXCLUDE_MODULES "") # A list of tags in the source code to not include in the static binary separated by ';' -SET(EXCLUDE_CODE "") +#SET(EXCLUDE_CODE "") # A list of MAQAO Lua modules to include in the static binary separated by ';' -SET(INCLUDE_MODULES "") +#SET(INCLUDE_MODULES "") # Specifies if the MAQAO binary should be linked as a static executable or if the external libraries (libdl, libdm, ...) must be dynamically linked. # Possible values: STATIC (default) / EXTERNAL_DYNAMIC @@ -36,7 +36,7 @@ SET(INCLUDE_MODULES "") # Specifies whether MAQAO is being compiled for a different architecture than the current one. # Possible values: true / false (default) -SET(CROSS_COMPILATION false) +#SET(CROSS_COMPILATION false) # Set the compiler used to compile C code for target architecture (local if not cross-compiling). # Possible values: "gcc", "icc", etc. Default value is system default. diff --git a/profiles/release.intel64.profile b/profiles/release.profile similarity index 89% rename from profiles/release.intel64.profile rename to profiles/release.profile index a4f5b10..754bfb6 100644 --- a/profiles/release.intel64.profile +++ b/profiles/release.profile @@ -3,7 +3,7 @@ # Sets the list of architectures to be handled by MAQAO, separated by ';'. # Possible values: x86_64, k1om, ia32. Default value: "x86_64" -SET(ARCHS x86_64) +#SET(ARCHS x86_64) # The optimisation level (higher is more optimised). # Possible values: 0 / 1 / 2 (default) / 3 @@ -11,24 +11,24 @@ SET(OPTIM_LVL 3) # Set the Lua interpreter. # Possible values: lua / luajit (default) -SET(LUA lua) +#SET(LUA luajit) # Specifies whether the binary must be stripped. # Possible values: true (default) / false -SET(STRIP true) +#SET(STRIP true) # Specifies if the debug info and MAQAO debug macros must be activated. # Possible values: true / false (default) -SET(DEBUG false) +#SET(DEBUG false) # A list of MAQAO Lua modules to not include in the static binary separated by ';' -SET(EXCLUDE_MODULES "") +#SET(EXCLUDE_MODULES "") # A list of tags in the source code to not include in the static binary separated by ';' -SET(EXCLUDE_CODE "") +#SET(EXCLUDE_CODE "") # A list of MAQAO Lua modules to include in the static binary separated by ';' -SET(INCLUDE_MODULES "") +#SET(INCLUDE_MODULES "") # Specifies if the MAQAO binary should be linked as a static executable or if the external libraries (libdl, libdm, ...) must be dynamically linked. # Possible values: STATIC (default) / EXTERNAL_DYNAMIC @@ -36,7 +36,7 @@ SET(INCLUDE_MODULES "") # Specifies whether MAQAO is being compiled for a different architecture than the current one. # Possible values: true / false (default) -SET(CROSS_COMPILATION false) +#SET(CROSS_COMPILATION false) # Set the compiler used to compile C code for target architecture (local if not cross-compiling). # Possible values: "gcc", "icc", etc. Default value is system default. diff --git a/src/LuaJIT/src/lj_arch.h b/src/LuaJIT/src/lj_arch.h index 6811e1b..1b07c2d 100644 --- a/src/LuaJIT/src/lj_arch.h +++ b/src/LuaJIT/src/lj_arch.h @@ -41,7 +41,7 @@ #define LUAJIT_TARGET LUAJIT_ARCH_X86 #elif defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64) #define LUAJIT_TARGET LUAJIT_ARCH_X64 -#elif defined(__arm__) || defined(__arm) || defined(__ARM__) || defined(__ARM) +#elif defined(__arm__) || defined(__arm) || defined(__ARM__) || defined(__ARM) || defined(__aarch64__) #define LUAJIT_TARGET LUAJIT_ARCH_ARM #elif defined(__ppc__) || defined(__ppc) || defined(__PPC__) || defined(__PPC) || defined(__powerpc__) || defined(__powerpc) || defined(__POWERPC__) || defined(__POWERPC) || defined(_M_PPC) #ifdef __NO_FPRS__ diff --git a/src/common/la_block.c b/src/common/la_block.c index cb2bea0..ce4592e 100644 --- a/src/common/la_block.c +++ b/src/common/la_block.c @@ -595,6 +595,49 @@ insn_t * block_find_flag_overriding_insn_inc(block_t *b) return block_find_flag_overriding_insn(b, insn_inc_opcode()); } +/* + * Returns path to the source file defining a block + * \warning for some blocks instructions are defined in different files (according to insn_get_src_file) + * In that case reference file is the one defined in the first instruction + * \param block a block + * \return path to source file (string) + */ +char *block_get_src_file_path (block_t *block) +{ + insn_t *first_insn = block_get_first_insn (block); + + return insn_get_src_file (first_insn); +} + +/* + * Provides first and last source line of a block + * \see block_get_src_file_path + * \param block a block + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +void block_get_src_lines (block_t *block, unsigned *min, unsigned *max) +{ + *min = 0; + *max = 0; + + char *block_file_path = block_get_src_file_path (block); + if (block_file_path == NULL) return; + + FOREACH_INSN_INBLOCK(block, iti) { + insn_t *insn = GET_DATA_T(insn_t*, iti); + + char *file_path = insn_get_src_file (insn); + if (file_path == NULL || strcmp (file_path, block_file_path) != 0) continue; + + unsigned src_line = insn_get_src_line (insn); + if (src_line == 0) continue; + + if (*min == 0 || *min > src_line) *min = src_line; + if (*max == 0 || *max < src_line) *max = src_line; + } +} + /* * Sets a block unique id * \param b a block diff --git a/src/common/la_fct.c b/src/common/la_fct.c index 32f5ce5..2dd99b0 100644 --- a/src/common/la_fct.c +++ b/src/common/la_fct.c @@ -407,6 +407,39 @@ char* fct_get_src_file_path(fct_t* f) return new; } +/* + * Provides first and last source line of a function + * \see fct_get_src_file_path + * \param fct a function + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +void fct_get_src_lines (fct_t *fct, unsigned *min, unsigned *max) +{ + *min = 0; + *max = 0; + + char *fct_file_path = fct_get_src_file_path (fct); + if (fct_file_path == NULL) return; + + FOREACH_INQUEUE(fct_get_blocks(fct), itb) { + block_t* block = GET_DATA_T(block_t*, itb); + + FOREACH_INSN_INBLOCK(block, iti) { + insn_t *insn = GET_DATA_T(insn_t*, iti); + + char *file_path = insn_get_src_file (insn); + if (file_path == NULL || strcmp (file_path, fct_file_path) != 0) continue; + + unsigned src_line = insn_get_src_line (insn); + if (src_line == 0) continue; + + if (*min == 0 || *min > src_line) *min = src_line; + if (*max == 0 || *max < src_line) *max = src_line; + } + } +} + /* * Return the compiler used to compile the function * \param f a function diff --git a/src/common/la_loop.c b/src/common/la_loop.c index a17b417..e14ac3c 100644 --- a/src/common/la_loop.c +++ b/src/common/la_loop.c @@ -314,6 +314,53 @@ int loop_get_depth(loop_t *loop) return _rec_depth(loop, 0); } +/* + * Returns path to the source file defining a loop + * \warning for some loops instructions are defined in different files (according to insn_get_src_file) + * In that case returning the one defined in the first instruction (in the first entry block) + * \param loop a loop + * \return path to source file (string) + */ +char *loop_get_src_file_path (loop_t *loop) +{ + insn_t *first_insn = block_get_first_insn (list_getdata (loop_get_entries (loop))); + + return insn_get_src_file (first_insn); +} + +/* + * Provides first and last source line of a loop + * \see loop_get_src_file_path + * \param loop a loop + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +void loop_get_src_lines (loop_t *loop, unsigned *min, unsigned *max) +{ + *min = 0; + *max = 0; + + char *loop_file_path = loop_get_src_file_path (loop); + if (loop_file_path == NULL) return; + + FOREACH_INQUEUE(loop_get_blocks(loop), itb) { + block_t* block = GET_DATA_T(block_t*, itb); + + FOREACH_INSN_INBLOCK(block, iti) { + insn_t *insn = GET_DATA_T(insn_t*, iti); + + char *file_path = insn_get_src_file (insn); + if (file_path == NULL || strcmp (file_path, loop_file_path) != 0) continue; + + unsigned src_line = insn_get_src_line (insn); + if (src_line == 0) continue; + + if (*min == 0 || *min > src_line) *min = src_line; + if (*max == 0 || *max < src_line) *max = src_line; + } + } +} + /* * Sets the unique id for a loop * \param l a loop diff --git a/src/common/la_oprnd.c b/src/common/la_oprnd.c index cf6f9f2..9d8d849 100644 --- a/src/common/la_oprnd.c +++ b/src/common/la_oprnd.c @@ -231,12 +231,13 @@ void regidx_free(regidx_t* regidx) * \param ptr The pointer operand to print * \param out_str output string * \param size The size of the char array + * \return The number of characters actually written */ -static void oprnd_ptr_printdump(insn_t* insn, pointer_t* ptr, char* out_str, +static int oprnd_ptr_printdump(insn_t* insn, pointer_t* ptr, char* out_str, size_t size) { assert(ptr != NULL && out_str != NULL); - + int written = 0; if (insn != NULL) { //Print branch label (if exists) insn_t* branchdest = ptr->target.insn; @@ -248,16 +249,17 @@ static void oprnd_ptr_printdump(insn_t* insn, pointer_t* ptr, char* out_str, if (destlbl != NULL) { int64_t lbloffs = branch - label_get_addr(destlbl); //Calculates the offset to the label if (lbloffs > 0) - lc_sprintf(out_str, size, "%"PRIx64" <%s+%#"PRIx64">", branch, + written = lc_sprintf(out_str, size, "%"PRIx64" <%s+%#"PRIx64">", branch, label_get_name(destlbl), lbloffs); else - lc_sprintf(out_str, size, "%"PRIx64" <%s>", branch, + written = lc_sprintf(out_str, size, "%"PRIx64" <%s>", branch, label_get_name(destlbl)); } else { - lc_sprintf(out_str, size, "%"PRIx64, branch); + written = lc_sprintf(out_str, size, "%"PRIx64, branch); } } else - lc_sprintf(out_str, size, "%#"PRIx64, pointer_get_addr(ptr)); + written = lc_sprintf(out_str, size, "%#"PRIx64, pointer_get_addr(ptr)); + return written; } /** @@ -603,21 +605,23 @@ void pointer_print(pointer_t* p, char* str, size_t size) { if (!p || !str) return; - + size_t char_limit = (size_t)str + size; switch (p->target_type) { case TARGET_INSN: - PRINT_INSTRING(str, size, "[Instruction @ %#"PRIx64, - INSN_GET_ADDR(p->target.insn)) - ; + lc_sprintf(str, char_limit - (size_t)str, "[Instruction @ %#"PRIx64, INSN_GET_ADDR(p->target.insn)); + while(*str!='\0') str++; break; default: - PRINT_INSTRING(str, size, "[Unknown @ %#"PRIx64, pointer_get_addr(p)) - ; + lc_sprintf(str, char_limit - (size_t)str, "[Unknown @ %#"PRIx64, pointer_get_addr(p)); + while(*str!='\0') str++; break; } - if (p->offset_intarget > 0) - PRINT_INSTRING(str, size, " + %#"PRIx32, p->offset_intarget); - PRINT_INSTRING(str, size, "]"); + if (p->offset_intarget > 0) { + lc_sprintf(str, char_limit - (size_t)str, " + %#"PRIx32, p->offset_intarget); + while (*str != '\0') str++; + } + lc_sprintf(str, char_limit - (size_t)str, "]"); + while(*str!='\0') str++; } /* @@ -702,7 +706,8 @@ void memory_free(memory_t* mem) static void memory_printdump(void* m, char* c, size_t size, arch_t* arch) { memory_t* mem = (memory_t*) m; - int r, char_limit = (size_t) c + size; + int r; + size_t char_limit = (size_t) c + size; if (m == NULL || c == NULL) return; @@ -1723,7 +1728,7 @@ void oprnd_set_ptr_addr(oprnd_t* oprnd, maddr_t addr) int oprnd_print(insn_t* in, void* p, char* c, size_t size, arch_t* archi) { oprnd_t* oprnd = (oprnd_t*) p; - int char_limit = (size_t) c + size; + size_t char_limit = (size_t) c + size; if (c == NULL) return 0; @@ -1761,7 +1766,7 @@ int oprnd_print(insn_t* in, void* p, char* c, size_t size, arch_t* archi) -oprnd->data.imm); break; case (OT_POINTER): - oprnd_ptr_printdump(in, oprnd->data.ptr, c, size); + c += oprnd_ptr_printdump(in, oprnd->data.ptr, c, size); break; default: if (oprnd->data.reg != NULL) diff --git a/src/common/lc_bitvector.c b/src/common/lc_bitvector.c index 336dc4e..4a31199 100644 --- a/src/common/lc_bitvector.c +++ b/src/common/lc_bitvector.c @@ -381,7 +381,8 @@ void bitvector_hexprint(const bitvector_t *bv, char *out, size_t size, if (!bv || bv->bits == 0 || !out) return; - int i, j, char_limit = (size_t) out + size, written = 0; + int i, j; + size_t char_limit = size, written = 0; /********************** Leftmost chunk **********************/ unsigned bytes_in_leftmost_chunk = sizeof(chunk_t); @@ -1497,6 +1498,7 @@ int bitvector_removebitsleft(bitvector_t* bv, int offset, int len) void bitvector_printdeclaration_from_binstring(char* bf, char* name, char* str, size_t size) { + /**\todo (2016-09-15) Remove the use of PRINT_INSTRING here, the function as written won't work on Windows*/ chunk_t value = 0; size_t i; size_t len = strlen(bf); diff --git a/src/common/lc_txtfile.c b/src/common/lc_txtfile.c index 91f6e7f..1385de3 100644 --- a/src/common/lc_txtfile.c +++ b/src/common/lc_txtfile.c @@ -22,6 +22,7 @@ * \file lc_txtfile.c * \brief This file contains getters, setters, and functions for parsing text files */ +#include #include "libmcommon.h" //#define BUFFER_SIZE 1024 /**field.num->base) { case BASE_10: if (template->field.num->isunsigned) - formatstr = "%lu"; + formatstr = "%"PRIu64; else - formatstr = "%ld"; + formatstr = "%"PRId64; break; case BASE_16: - formatstr = "%lx"; + formatstr = "%"PRIx64; break; case BASE_08: - formatstr = "%lo"; + formatstr = "%"PRIo64; break; case BASE_02: /**\todo TODO (2015-07-03) Implement it, but I don't have the time right now*/ diff --git a/src/common/libmasm.h b/src/common/libmasm.h index 99bedbf..669b0dd 100644 --- a/src/common/libmasm.h +++ b/src/common/libmasm.h @@ -3598,6 +3598,24 @@ extern int block_is_handler_exit(block_t* block); */ extern int block_is_dominated(block_t* parent, block_t* child); +/** + * Returns path to the source file defining a block + * \warning for some blocks instructions are defined in different files (according to insn_get_src_file) + * In that case reference file is the one defined in the first instruction + * \param block a block + * \return path to source file (string) + */ +extern char *block_get_src_file_path (block_t *block); + +/** + * Provides first and last source line of a block + * \see block_get_src_file_path + * \param block a block + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +extern void block_get_src_lines (block_t *block, unsigned *min, unsigned *max); + /** * Sets a block unique id * \param block a block @@ -3997,6 +4015,24 @@ extern int loop_is_innermost(loop_t *loop); */ extern int loop_get_depth(loop_t *loop); +/** + * Returns path to the source file defining a loop + * \warning for some loops instructions are defined in different files (according to insn_get_src_file) + * In that case returning the one defined in the first instruction (in the first entry block) + * \param loop a loop + * \return path to source file (string) + */ +extern char *loop_get_src_file_path (loop_t *loop); + +/** + * Provides first and last source line of a loop + * \see loop_get_src_file_path + * \param loop a loop + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +extern void loop_get_src_lines (loop_t *loop, unsigned *min, unsigned *max); + /** * Sets the unique id for a loop * \param loop a loop @@ -4363,6 +4399,15 @@ extern char* fct_get_src_file(fct_t* fct); */ extern char* fct_get_src_file_path(fct_t* fct); +/** + * Provides first and last source line of a function + * \see fct_get_src_file_path + * \param fct a function + * \param min pointer to first line rank + * \param max pointer to last line rank + */ +extern void fct_get_src_lines (fct_t *fct, unsigned *min, unsigned *max); + /** * Return the compiler used to compile the function * \param fct a function diff --git a/src/lua-5.1.5/CMakeLists.txt b/src/lua-5.1.5/CMakeLists.txt index 3da201e..7316510 100644 --- a/src/lua-5.1.5/CMakeLists.txt +++ b/src/lua-5.1.5/CMakeLists.txt @@ -72,7 +72,6 @@ ELSE () IF (UNIX) ADD_CUSTOM_COMMAND( OUTPUT ${LUA_LIB_STATIC} - OUTPUT ${LUA_LIB_DYN} OUTPUT ${LUA_BIN} # Run the makefile @@ -100,7 +99,11 @@ ELSE () ENDIF () ENDIF () -ADD_CUSTOM_TARGET(do_lua DEPENDS ${LUA_LIB_DYN} ${LUA_LIB_STATIC} ${LUA_BIN}) +IF (UNIX) + ADD_CUSTOM_TARGET(do_lua DEPENDS ${LUA_LIB_STATIC} ${LUA_BIN}) +ELSE () + ADD_CUSTOM_TARGET(do_lua DEPENDS ${LUA_LIB_DYN} ${LUA_LIB_STATIC} ${LUA_BIN}) +ENDIF () FILE(COPY src/lua.h DESTINATION ${LUA_INCLUDE_OUTPUT_PATH}) FILE(COPY src/lualib.h DESTINATION ${LUA_INCLUDE_OUTPUT_PATH}) FILE(COPY src/lauxlib.h DESTINATION ${LUA_INCLUDE_OUTPUT_PATH}) diff --git a/src/madras/elf.h b/src/madras/elf.h index 8edb094..5b49250 100644 --- a/src/madras/elf.h +++ b/src/madras/elf.h @@ -2642,8 +2642,13 @@ typedef Elf32_Addr Elf32_Conflict; descriptor. */ #define R_X86_64_TLSDESC 36 /* TLS descriptor. */ #define R_X86_64_IRELATIVE 37 /* Adjust indirectly by program base */ +#define R_X86_64_RELATIVE64 38 /* 64-bit adjust by program base */ +/**\note (2016-09-07) Entries below have been added since they don't appear in the elf.h file from the system*/ +// Values 39 and 40 are deprecated according to the April 2016 version of the ABI +#define R_X86_64_GOTPCRELX 41 /* 32 bit signed PC relative offset to GOT without REX prefix, relaxable */ +#define R_X86_64_REX_GOTPCRELX 42 /* 32 bit signed PC relative offset to GOT with REX prefix, relaxable */ -#define R_X86_64_NUM 38 +#define R_X86_64_NUM 43 /* AM33 relocations. */ #define R_MN10300_NONE 0 /* No reloc. */ diff --git a/src/madras/k1om/k1om_ext.c b/src/madras/k1om/k1om_ext.c index a2d1473..d07eb46 100644 --- a/src/madras/k1om/k1om_ext.c +++ b/src/madras/k1om/k1om_ext.c @@ -142,7 +142,7 @@ void k1om_conv_free (conv_t* conv) { static void k1om_conv_print (conv_t* conv, char * c, size_t size) { if (conv == NULL || c == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; if (conv->mod != NULL) { while (*c!='\0') @@ -227,7 +227,7 @@ void k1om_hint_free (hint_t* hint) { static void k1om_hint_print (hint_t* hint, char* c, size_t size) { if (hint == NULL || c == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; if (hint->value == 1) { while (*c!='\0') @@ -342,7 +342,7 @@ void k1om_mask_free (mask_t* mask) { static void k1om_mask_print (mask_t* mask, char* c, size_t size, arch_t* archi) { if (mask == NULL || c == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; if (mask->reg != NULL) { while (*c != '\0') @@ -428,7 +428,7 @@ void k1om_round_free (round_t* round) { static void k1om_round_print (round_t* round, char* c, size_t size) { if (round == NULL || c == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; if (round->mod != NULL) { while (*c!='\0') @@ -652,7 +652,7 @@ void k1om_oprnd_ext_free (oprnd_t* oprnd) { static void k1om_oprnd_ext_print (oprnd_t* oprnd, char* c, size_t size, arch_t* archi) { if (oprnd == NULL || oprnd->ext == NULL || c == NULL || archi == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; k1om_conv_print(((k1om_oprnd_ext_t*)oprnd->ext)->conv,c,size); k1om_mask_print(((k1om_oprnd_ext_t*)oprnd->ext)->mask,c,char_limit-(size_t)c,archi); @@ -905,7 +905,8 @@ void k1om_insn_free(void* p) { */ static void k1om_insn_printsizesuffix(insn_t* in,char* c,size_t size) { - int i,hasreg=FALSE,char_limit=(size_t)c + size; + int i, hasreg = FALSE; + size_t char_limit = (size_t) c + size; unsigned short memsize = DATASZ_UNDEF; /*Looking for memory and register operands*/ for(i=0;inb_oprnd;i++) @@ -1042,7 +1043,7 @@ static void k1om_insn_fprintsizesuffix(insn_t* in,FILE* f) void k1om_insn_print(insn_t* in, char* c, size_t size) { if (in == NULL) return; - int char_limit = (size_t)c + size; + size_t char_limit = (size_t)c + size; lc_sprintf(c,char_limit - (size_t)c, "%s", arch_get_opcode_name (&k1om_arch, in->opcode)); while (*c!='\0') diff --git a/src/madras/libdwarf/libdwarf.h b/src/madras/libdwarf/libdwarf.h deleted file mode 100644 index f8c5e75..0000000 --- a/src/madras/libdwarf/libdwarf.h +++ /dev/null @@ -1,3376 +0,0 @@ -/* - - Copyright (C) 2000-2010 Silicon Graphics, Inc. All Rights Reserved. - Portions Copyright 2007-2010 Sun Microsystems, Inc. All rights reserved. - Portions Copyright 2008-2013 David Anderson. All rights reserved. - Portions Copyright 2008-2010 Arxan Technologies, Inc. All rights reserved. - Portions Copyright 2010-2012 SN Systems Ltd. All rights reserved. - - This program is free software; you can redistribute it and/or modify it - under the terms of version 2.1 of the GNU Lesser General Public License - as published by the Free Software Foundation. - - This program is distributed in the hope that it would be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - Further, this software is distributed without any warranty that it is - free of the rightful claim of any third person regarding infringement - or the like. Any license provided herein, whether implied or - otherwise, applies only to this software file. Patent licenses, if - any, provided herein do not apply to combinations of this program with - other software, or any other product whatsoever. - - You should have received a copy of the GNU Lesser General Public - License along with this program; if not, write the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301, - USA. - -*/ - - -#ifndef _LIBDWARF_H -#define _LIBDWARF_H -#ifdef __cplusplus -extern "C" { -#endif -/* - libdwarf.h - $Revision: #9 $ $Date: 2008/01/17 $ - - For libdwarf producers and consumers - - The interface is defined as having 8-byte signed and unsigned - values so it can handle 64-or-32bit target on 64-or-32bit host. - Addr is the native size: it represents pointers on - the host machine (not the target!). - - This contains declarations for types and all producer - and consumer functions. - - Function declarations are written on a single line each here - so one can use grep to each declaration in its entirety. - The declarations are a little harder to read this way, but... - - The seeming duplication of the Elf typedef allows - both verification we have the right struct name (when - libelf.h included before this) and - creation of a local handle so we have the struct pointer - here (if libelf.h is not included before this file). - -*/ - -//typedef struct Elf Elf; -typedef struct Elf* dwarf_elf_handle; - -/* To enable printing with printf regardless of the - actual underlying data type, we define the DW_PR_xxx macros. - To ensure uses of DW_PR_DUx or DW_PR_DSx look the way you want - ensure the right DW_PR_XZEROS define is uncommented. -*/ -/*#define DW_PR_XZEROS "" */ -#define DW_PR_XZEROS "08" -#if (_MIPS_SZLONG == 64) -/* Special case for MIPS, so -64 (LP64) build gets simple -long-. - Non-MIPS LP64 or ILP64 environments should probably ensure - _MIPS_SZLONG set to 64 everywhere this header is #included. -*/ -typedef int Dwarf_Bool; /* boolean type */ -typedef unsigned long Dwarf_Off; /* 4 or 8 byte file offset */ -typedef unsigned long Dwarf_Unsigned; /* 4 or 8 byte unsigned value */ -typedef unsigned short Dwarf_Half; /* 2 byte unsigned value */ -typedef unsigned char Dwarf_Small; /* 1 byte unsigned value */ -typedef signed long Dwarf_Signed; /* 4 or 8 byte signed value */ -typedef unsigned long Dwarf_Addr; /* target memory address */ -#define DW_PR_DUx "lx" -#define DW_PR_DSx "lx" -#define DW_PR_DUu "lu" -#define DW_PR_DSd "ld" - -#else /* 32-bit */ -/* This is for ILP32, allowing i/o of 64bit dwarf info. - Also should be fine for LP64 and ILP64 cases. -*/ -typedef int Dwarf_Bool; /* boolean type */ -typedef unsigned long long Dwarf_Off; /* 8 byte file offset */ -typedef unsigned long long Dwarf_Unsigned; /* 8 byte unsigned value*/ -typedef unsigned short Dwarf_Half; /* 2 byte unsigned value */ -typedef unsigned char Dwarf_Small; /* 1 byte unsigned value */ -typedef signed long long Dwarf_Signed; /* 8 byte signed value */ -typedef unsigned long long Dwarf_Addr; /* target memory address */ -#define DW_PR_DUx "llx" -#define DW_PR_DSx "llx" -#define DW_PR_DUu "llu" -#define DW_PR_DSd "lld" -#endif -#ifdef HAVE_NONSTANDARD_PRINTF_64_FORMAT -/* Windows does not use std C formatting, so allow it. */ -#undef DW_PR_DUx -#undef DW_PR_DSx -#undef DW_PR_DUu -#undef DW_PR_DSd -#define DW_PR_DUx "I64x" -#define DW_PR_DSx "I64x" -#define DW_PR_DUu "I64u" -#define DW_PR_DSd "I64d" -#endif /* HAVE_NONSTANDARD_FORMAT */ - -typedef void* Dwarf_Ptr; /* host machine pointer */ - -/* Used for DW_FORM_ref_sig8. It is not a string, it - is 8 bytes of a signature one would use to find - a type unit. See dwarf_formsig8() -*/ -typedef struct { - char signature[8]; -} Dwarf_Sig8; - -/* Contains info on an uninterpreted block of data -*/ -typedef struct { - Dwarf_Unsigned bl_len; /* length of block */ - Dwarf_Ptr bl_data; /* uninterpreted data */ - Dwarf_Small bl_from_loclist; /*non-0 if loclist, else debug_info*/ - Dwarf_Unsigned bl_section_offset; /* Section (not CU) offset - which 'data' comes from. */ -} Dwarf_Block; - - -/* location record -*/ -typedef struct { - Dwarf_Small lr_atom; /* location operation */ - Dwarf_Unsigned lr_number; /* operand */ - Dwarf_Unsigned lr_number2; /* for OP_BREGx and DW_OP_GNU_const_type*/ - Dwarf_Unsigned lr_offset; /* offset in locexpr for OP_BRA etc */ -} Dwarf_Loc; - - -/* location description -*/ -typedef struct { - Dwarf_Addr ld_lopc; /* beginning of active range */ - Dwarf_Addr ld_hipc; /* end of active range */ - Dwarf_Half ld_cents; /* count of location records */ - Dwarf_Loc* ld_s; /* pointer to list of same */ - Dwarf_Small ld_from_loclist; - /* non-0 if loclist, else debug_info*/ - - Dwarf_Unsigned ld_section_offset; /* Section (not CU) offset - where loc-expr begins*/ -} Dwarf_Locdesc; - -/* First appears in DWARF3. - The dwr_addr1/addr2 data is either an offset (DW_RANGES_ENTRY) - or an address (dwr_addr2 in DW_RANGES_ADDRESS_SELECTION) or - both are zero (DW_RANGES_END). -*/ -enum Dwarf_Ranges_Entry_Type { DW_RANGES_ENTRY, - DW_RANGES_ADDRESS_SELECTION, - DW_RANGES_END -}; -typedef struct { - Dwarf_Addr dwr_addr1; - Dwarf_Addr dwr_addr2; - enum Dwarf_Ranges_Entry_Type dwr_type; -} Dwarf_Ranges; - -/* Frame description instructions expanded. -*/ -typedef struct { - Dwarf_Small fp_base_op; - Dwarf_Small fp_extended_op; - Dwarf_Half fp_register; - - /* Value may be signed, depends on op. - Any applicable data_alignment_factor has - not been applied, this is the raw offset. */ - Dwarf_Unsigned fp_offset; - Dwarf_Off fp_instr_offset; -} Dwarf_Frame_Op; /* DWARF2 */ - -typedef struct { - Dwarf_Small fp_base_op; - Dwarf_Small fp_extended_op; - Dwarf_Half fp_register; - - /* Value may be signed, depends on op. - Any applicable data_alignment_factor has - not been applied, this is the raw offset. */ - Dwarf_Unsigned fp_offset_or_block_len; - Dwarf_Small *fp_expr_block; - - Dwarf_Off fp_instr_offset; -} Dwarf_Frame_Op3; /* DWARF3 and DWARF2 compatible */ - -/* ***IMPORTANT NOTE, TARGET DEPENDENCY **** - DW_REG_TABLE_SIZE must be at least as large as - the number of registers - (DW_FRAME_LAST_REG_NUM) as defined in dwarf.h - Preferably identical to DW_FRAME_LAST_REG_NUM. - Ensure [0-DW_REG_TABLE_SIZE] does not overlap - DW_FRAME_UNDEFINED_VAL or DW_FRAME_SAME_VAL. - Also ensure DW_FRAME_REG_INITIAL_VALUE is set to what - is appropriate to your cpu. - For various CPUs DW_FRAME_UNDEFINED_VAL is correct - as the value for DW_FRAME_REG_INITIAL_VALUE. - - For consumer apps, this can be set dynamically: see - dwarf_set_frame_rule_table_size(); */ -#ifndef DW_REG_TABLE_SIZE -#define DW_REG_TABLE_SIZE 66 -#endif - -/* For MIPS, DW_FRAME_SAME_VAL is the correct default value - for a frame register value. For other CPUS another value - may be better, such as DW_FRAME_UNDEFINED_VAL. - See dwarf_set_frame_rule_table_size -*/ -#ifndef DW_FRAME_REG_INITIAL_VALUE -#define DW_FRAME_REG_INITIAL_VALUE DW_FRAME_SAME_VAL -#endif - -/* Taken as meaning 'undefined value', this is not - a column or register number. - Only present at libdwarf runtime in the consumer - interfaces. Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - Ensure this is > DW_REG_TABLE_SIZE (the reg table - size is changeable at runtime with the *reg3() interfaces, - and this value must be greater than the reg table size). -*/ -#define DW_FRAME_UNDEFINED_VAL 1034 - -/* Taken as meaning 'same value' as caller had, not a column - or register number. - Only present at libdwarf runtime in the consumer - interfaces. Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - Ensure this is > DW_REG_TABLE_SIZE (the reg table - size is changeable at runtime with the *reg3() interfaces, - and this value must be greater than the reg table size). -*/ -#define DW_FRAME_SAME_VAL 1035 - -/* For DWARF3 consumer interfaces, make the CFA a column with no - real table number. This is what should have been done - for the DWARF2 interfaces. This actually works for - both DWARF2 and DWARF3, but see the libdwarf documentation - on Dwarf_Regtable3 and dwarf_get_fde_info_for_reg3() - and dwarf_get_fde_info_for_all_regs3() - Do NOT use this with the older dwarf_get_fde_info_for_reg() - or dwarf_get_fde_info_for_all_regs() consumer interfaces. - Must be higher than any register count for *any* ABI - (ensures maximum applicability with minimum effort). - Ensure this is > DW_REG_TABLE_SIZE (the reg table - size is changeable at runtime with the *reg3() interfaces, - and this value must be greater than the reg table size). - Only present at libdwarf runtime in the consumer - interfaces. Never on disk. -*/ -#define DW_FRAME_CFA_COL3 1436 - -/* The following are all needed to evaluate DWARF3 register rules. -*/ -#define DW_EXPR_OFFSET 0 /* DWARF2 only sees this. */ -#define DW_EXPR_VAL_OFFSET 1 -#define DW_EXPR_EXPRESSION 2 -#define DW_EXPR_VAL_EXPRESSION 3 - -typedef struct Dwarf_Regtable_Entry_s { - /* For each index i (naming a hardware register with dwarf number - i) the following is true and defines the value of that register: - - If dw_regnum is Register DW_FRAME_UNDEFINED_VAL - it is not DWARF register number but - a place holder indicating the register has no defined value. - If dw_regnum is Register DW_FRAME_SAME_VAL - it is not DWARF register number but - a place holder indicating the register has the same - value in the previous frame. - - DW_FRAME_UNDEFINED_VAL, DW_FRAME_SAME_VAL are - only present at libdwarf runtime. Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - - Otherwise: the register number is a DWARF register number - (see ABI documents for how this translates to hardware/ - software register numbers in the machine hardware) - and the following applies: - - if dw_value_type == DW_EXPR_OFFSET (the only case for dwarf2): - If dw_offset_relevant is non-zero, then - the value is stored at at the address CFA+N where - N is a signed offset. - Rule: Offset(N) - If dw_offset_relevant is zero, then the value of the register - is the value of (DWARF) register number dw_regnum. - Rule: register(F) - Other values of dw_value_type are an error. - */ - Dwarf_Small dw_offset_relevant; - - /* For DWARF2, always 0 */ - Dwarf_Small dw_value_type; - - Dwarf_Half dw_regnum; - - /* The data type here should the larger of Dwarf_Addr - and Dwarf_Unsigned and Dwarf_Signed. */ - Dwarf_Addr dw_offset; -} Dwarf_Regtable_Entry; - -typedef struct Dwarf_Regtable_s { - struct Dwarf_Regtable_Entry_s rules[DW_REG_TABLE_SIZE]; -} Dwarf_Regtable; - -/* opaque type. Functional interface shown later. */ -struct Dwarf_Reg_value3_s; -typedef struct Dwarf_Reg_value3_s Dwarf_Reg_Value3; - -typedef struct Dwarf_Regtable_Entry3_s { -/* For each index i (naming a hardware register with dwarf number - i) the following is true and defines the value of that register: - - If dw_regnum is Register DW_FRAME_UNDEFINED_VAL - it is not DWARF register number but - a place holder indicating the register has no defined value. - If dw_regnum is Register DW_FRAME_SAME_VAL - it is not DWARF register number but - a place holder indicating the register has the same - value in the previous frame. - - DW_FRAME_UNDEFINED_VAL, DW_FRAME_SAME_VAL and - DW_FRAME_CFA_COL3 are only present at libdwarf runtime. - Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - Because DW_FRAME_SAME_VAL and DW_FRAME_UNDEFINED_VAL - and DW_FRAME_CFA_COL3 are definable at runtime - consider the names symbolic in this comment, not absolute. - - Otherwise: the register number is a DWARF register number - (see ABI documents for how this translates to hardware/ - software register numbers in the machine hardware) - and the following applies: - - In a cfa-defining entry (rt3_cfa_rule) the regnum is the - CFA 'register number'. Which is some 'normal' register, - not DW_FRAME_CFA_COL3, nor DW_FRAME_SAME_VAL, nor - DW_FRAME_UNDEFINED_VAL. - - If dw_value_type == DW_EXPR_OFFSET (the only possible case for - dwarf2): - If dw_offset_relevant is non-zero, then - the value is stored at at the address - CFA+N where N is a signed offset. - dw_regnum is the cfa register rule which means - one ignores dw_regnum and uses the CFA appropriately. - So dw_offset_or_block_len is a signed value, really, - and must be printed/evaluated as such. - Rule: Offset(N) - If dw_offset_relevant is zero, then the value of the register - is the value of (DWARF) register number dw_regnum. - Rule: register(R) - If dw_value_type == DW_EXPR_VAL_OFFSET - the value of this register is CFA +N where N is a signed offset. - dw_regnum is the cfa register rule which means - one ignores dw_regnum and uses the CFA appropriately. - Rule: val_offset(N) - If dw_value_type == DW_EXPR_EXPRESSION - The value of the register is the value at the address - computed by evaluating the DWARF expression E. - Rule: expression(E) - The expression E byte stream is pointed to by dw_block_ptr. - The expression length in bytes is given by - dw_offset_or_block_len. - If dw_value_type == DW_EXPR_VAL_EXPRESSION - The value of the register is the value - computed by evaluating the DWARF expression E. - Rule: val_expression(E) - The expression E byte stream is pointed to by dw_block_ptr. - The expression length in bytes is given by - dw_offset_or_block_len. - Other values of dw_value_type are an error. -*/ - Dwarf_Small dw_offset_relevant; - Dwarf_Small dw_value_type; - Dwarf_Half dw_regnum; - Dwarf_Unsigned dw_offset_or_block_len; - Dwarf_Ptr dw_block_ptr; - -}Dwarf_Regtable_Entry3; - -/* For the DWARF3 version, moved the DW_FRAME_CFA_COL - out of the array and into its own struct. - Having it part of the array is not very easy to work - with from a portability point of view: changing - the number for every architecture is a pain (if one fails - to set it correctly a register rule gets clobbered when - setting CFA). With MIPS it just happened to be easy to use - DW_FRAME_CFA_COL (it was wrong conceptually but it was easy...). - - rt3_rules and rt3_reg_table_size must be filled in before - calling libdwarf. Filled in with a pointer to an array - (pointer and array set up by the calling application) - of rt3_reg_table_size Dwarf_Regtable_Entry3_s structs. - libdwarf does not allocate or deallocate space for the - rules, you must do so. libdwarf will initialize the - contents rules array, you do not need to do so (though - if you choose to initialize the array somehow that is ok: - libdwarf will overwrite your initializations with its own). - -*/ -typedef struct Dwarf_Regtable3_s { - struct Dwarf_Regtable_Entry3_s rt3_cfa_rule; - - Dwarf_Half rt3_reg_table_size; - struct Dwarf_Regtable_Entry3_s * rt3_rules; -} Dwarf_Regtable3; - - -/* Use for DW_EPXR_STANDARD., DW_EXPR_VAL_OFFSET. - Returns DW_DLV_OK if the value is available. - If DW_DLV_OK returns the regnum and offset thru the pointers - (which the consumer must use appropriately). -*/ -int dwarf_frame_get_reg_register(struct Dwarf_Regtable_Entry3_s *reg_in, - Dwarf_Small *offset_relevant, - Dwarf_Half *regnum_out, - Dwarf_Signed *offset_out); - -/* Use for DW_EXPR_EXPRESSION, DW_EXPR_VAL_EXPRESSION. - Returns DW_DLV_OK if the value is available. - The caller must pass in the address of a valid - Dwarf_Block (the caller need not initialize it). -*/ -int dwarf_frame_get_reg_expression(struct Dwarf_Regtable_Entry3_s *reg_in, - Dwarf_Block *block_out); - - -/* For DW_DLC_SYMBOLIC_RELOCATIONS output to caller - v2, adding drd_length: some relocations are 4 and - some 8 bytes (pointers are 8, section offsets 4) in - some dwarf environments. (MIPS relocations are all one - size in any given ABI.) Changing drd_type to an unsigned char - to keep struct size down. -*/ -enum Dwarf_Rel_Type { - dwarf_drt_none, /* Should not get to caller */ - dwarf_drt_data_reloc, /* Simple normal relocation. */ - dwarf_drt_segment_rel, /* Special reloc, exceptions. */ - /* dwarf_drt_first_of_length_pair and drt_second - are for for the .word end - begin case. */ - dwarf_drt_first_of_length_pair, - dwarf_drt_second_of_length_pair -}; - -typedef struct Dwarf_P_Marker_s * Dwarf_P_Marker; -struct Dwarf_P_Marker_s { - Dwarf_Unsigned ma_marker; - Dwarf_Unsigned ma_offset; -}; - -typedef struct Dwarf_Relocation_Data_s * Dwarf_Relocation_Data; -struct Dwarf_Relocation_Data_s { - unsigned char drd_type; /* Cast to/from Dwarf_Rel_Type - to keep size small in struct. */ - unsigned char drd_length; /* Length in bytes of data being - relocated. 4 for 32bit data, - 8 for 64bit data. */ - Dwarf_Unsigned drd_offset; /* Where the data to reloc is. */ - Dwarf_Unsigned drd_symbol_index; -}; - -typedef struct Dwarf_P_String_Attr_s * Dwarf_P_String_Attr; -struct Dwarf_P_String_Attr_s { - Dwarf_Unsigned sa_offset; /* Offset of string attribute data */ - Dwarf_Unsigned sa_nbytes; -}; - - -/* Opaque types for Consumer Library. */ -typedef struct Dwarf_Debug_s* Dwarf_Debug; -typedef struct Dwarf_Die_s* Dwarf_Die; -typedef struct Dwarf_Line_s* Dwarf_Line; -typedef struct Dwarf_Global_s* Dwarf_Global; -typedef struct Dwarf_Func_s* Dwarf_Func; -typedef struct Dwarf_Type_s* Dwarf_Type; -typedef struct Dwarf_Var_s* Dwarf_Var; -typedef struct Dwarf_Weak_s* Dwarf_Weak; -typedef struct Dwarf_Error_s* Dwarf_Error; -typedef struct Dwarf_Attribute_s* Dwarf_Attribute; -typedef struct Dwarf_Abbrev_s* Dwarf_Abbrev; -typedef struct Dwarf_Fde_s* Dwarf_Fde; -typedef struct Dwarf_Cie_s* Dwarf_Cie; -typedef struct Dwarf_Arange_s* Dwarf_Arange; -typedef struct Dwarf_Gdbindex_s* Dwarf_Gdbindex; -typedef struct Dwarf_Xu_Index_Header_s* Dwarf_Xu_Index_Header; - - -/* Opaque types for Producer Library. */ -typedef struct Dwarf_P_Debug_s* Dwarf_P_Debug; -typedef struct Dwarf_P_Die_s* Dwarf_P_Die; -typedef struct Dwarf_P_Attribute_s* Dwarf_P_Attribute; -typedef struct Dwarf_P_Fde_s* Dwarf_P_Fde; -typedef struct Dwarf_P_Expr_s* Dwarf_P_Expr; -typedef Dwarf_Unsigned Dwarf_Tag; - - -/* error handler function -*/ -typedef void (*Dwarf_Handler)(Dwarf_Error /*error*/, Dwarf_Ptr /*errarg*/); - - -/* Begin libdwarf Object File Interface declarations. - -As of February 2008 there are multiple dwarf_reader object access -initialization methods available: -The traditional dwarf_elf_init() and dwarf_init() and dwarf_finish() - which assume libelf and POSIX file access. -An object-file and library agnostic dwarf_object_init() and dwarf_object_finish() - which allow the coder to provide object access routines - abstracting away the elf interface. So there is no dependence in the - reader code on the object format and no dependence on libelf. - See the code in dwarf_elf_access.c and dwarf_original_elf_init.c - to see an example of initializing the structures mentioned below. - -Projects using dwarf_elf_init() or dwarf_init() can ignore -the Dwarf_Obj_Access* structures entirely as all these details -are completed for you. - -*/ - -typedef struct Dwarf_Obj_Access_Interface_s Dwarf_Obj_Access_Interface; -typedef struct Dwarf_Obj_Access_Methods_s Dwarf_Obj_Access_Methods; -typedef struct Dwarf_Obj_Access_Section_s Dwarf_Obj_Access_Section; - - -/* Used in the get_section interface function - in Dwarf_Obj_Access_Section_s. Since libdwarf - depends on standard DWARF section names an object - format that has no such names (but has some - method of setting up 'sections equivalents') - must arrange to return standard DWARF section - names in the 'name' field. libdwarf does - not free the strings in 'name'. */ -struct Dwarf_Obj_Access_Section_s { - /* addr is the virtual address of the first byte of - the section data. Usually zero when the address - makes no sense for a given section. */ - Dwarf_Addr addr; - - /* Section type. */ - Dwarf_Unsigned type; - - /* Size in bytes of the section. */ - Dwarf_Unsigned size; - - /* Having an accurate section name makes debugging of libdwarf easier. - and is essential to find the .debug_ sections. */ - const char* name; - /* Set link to zero if it is meaningless. If non-zero - it should be a link to a rela section or from symtab - to strtab. In Elf it is sh_link. */ - Dwarf_Unsigned link; - - /* The section header index of the section to which the - relocation applies. In Elf it is sh_info. */ - Dwarf_Unsigned info; - - /* Elf sections that are tables have a non-zero entrysize so - the count of entries can be calculated even without - the right structure definition. If your object format - does not have this data leave this zero. */ - Dwarf_Unsigned entrysize; -}; - -/* Returned by the get_endianness function in - Dwarf_Obj_Access_Methods_s. */ -typedef enum { - DW_OBJECT_MSB, - DW_OBJECT_LSB -} Dwarf_Endianness; - -/* The functions we need to access object data from libdwarf are declared here. - - In these function pointer declarations - 'void *obj' is intended to be a pointer (the object field in - Dwarf_Obj_Access_Interface_s) - that hides the library-specific and object-specific data that makes - it possible to handle multiple object formats and multiple libraries. - It's not required that one handles multiple such in a single libdwarf - archive/shared-library (but not ruled out either). - See dwarf_elf_object_access_internals_t and dwarf_elf_access.c - for an example. - -*/ -struct Dwarf_Obj_Access_Methods_s { - /* - get_section_info - - Get address, size, and name info about a section. - - Parameters - section_index - Zero-based index. - return_section - Pointer to a structure in which section info - will be placed. Caller must provide a valid pointer to a - structure area. The structure's contents will be overwritten - by the call to get_section_info. - error - A pointer to an integer in which an error code may be stored. - - Return - DW_DLV_OK - Everything ok. - DW_DLV_ERROR - Error occurred. Use 'error' to determine the - libdwarf defined error. - DW_DLV_NO_ENTRY - No such section. */ - int (*get_section_info)(void* obj, Dwarf_Half section_index, - Dwarf_Obj_Access_Section* return_section, int* error); - /* - get_byte_order - - Get whether the object file represented by this interface is big-endian - (DW_OBJECT_MSB) or little endian (DW_OBJECT_LSB). - - Parameters - obj - Equivalent to 'this' in OO languages. - - Return - Endianness of object. Cannot fail. */ - Dwarf_Endianness (*get_byte_order)(void* obj); - /* - get_length_size - - Get the size of a length field in the underlying object file. - libdwarf currently supports * 4 and 8 byte sizes, but may - support larger in the future. - Perhaps the return type should be an enumeration? - - Parameters - obj - Equivalent to 'this' in OO languages. - - Return - Size of length. Cannot fail. */ - Dwarf_Small (*get_length_size)(void* obj); - /* - get_pointer_size - - Get the size of a pointer field in the underlying object file. - libdwarf currently supports 4 and 8 byte sizes. - Perhaps the return type should be an enumeration? - - Return - Size of pointer. Cannot fail. */ - Dwarf_Small (*get_pointer_size)(void* obj); - /* - get_section_count - - Get the number of sections in the object file. - - Parameters - - Return - Number of sections */ - Dwarf_Unsigned (*get_section_count)(void* obj); - /* - load_section - - Get a pointer to an array of bytes that represent the section. - - Parameters - section_index - Zero-based index. - return_data - The address of a pointer to which the section data block - will be assigned. - error - Pointer to an integer for returning libdwarf-defined - error numbers. - - Return - DW_DLV_OK - No error. - DW_DLV_ERROR - Error. Use 'error' to indicate a libdwarf-defined - error number. - DW_DLV_NO_ENTRY - No such section. */ - int (*load_section)(void* obj, Dwarf_Half section_index, - Dwarf_Small** return_data, int* error); - - /** - relocate_a_section - If relocations are not supported leave this pointer NULL. - - Get a pointer to an array of bytes that represent the section. - - Parameters - section_index - Zero-based index of the section to be relocated. - error - Pointer to an integer for returning libdwarf-defined - error numbers. - - Return - DW_DLV_OK - No error. - DW_DLV_ERROR - Error. Use 'error' to indicate a libdwarf-defined - error number. - DW_DLV_NO_ENTRY - No such section. */ - int (*relocate_a_section)(void* obj, Dwarf_Half section_index, - Dwarf_Debug dbg, - int* error); - -}; - - - -/* These structures are allocated and deallocated by your code - when you are using the libdwarf Object File Interface - [dwarf_object_init() and dwarf_object_finish()] directly. - dwarf_object_finish() does not free - struct Dwarf_Obj_Access_Interface_s or its content. - (libdwarf does record a pointer to this struct: you must - ensure that pointer remains valid for as long as - a libdwarf instance is open (meaning - after dwarf_init() and before dwarf_finish()). - - If you are reading Elf objects and libelf use dwarf_init() - or dwarf_elf_init() which take care of these details. -*/ -struct Dwarf_Obj_Access_Interface_s { - /* object is a void* as it hides the data the object access routines - need (which varies by library in use and object format). - */ - void* object; - const Dwarf_Obj_Access_Methods * methods; -}; - -/* End libdwarf Object File Interface */ - -/* - Dwarf_dealloc() alloc_type arguments. - Argument points to: -*/ -#define DW_DLA_STRING 0x01 /* char* */ -#define DW_DLA_LOC 0x02 /* Dwarf_Loc */ -#define DW_DLA_LOCDESC 0x03 /* Dwarf_Locdesc */ -#define DW_DLA_ELLIST 0x04 /* Dwarf_Ellist (not used)*/ -#define DW_DLA_BOUNDS 0x05 /* Dwarf_Bounds (not used) */ -#define DW_DLA_BLOCK 0x06 /* Dwarf_Block */ -#define DW_DLA_DEBUG 0x07 /* Dwarf_Debug */ -#define DW_DLA_DIE 0x08 /* Dwarf_Die */ -#define DW_DLA_LINE 0x09 /* Dwarf_Line */ -#define DW_DLA_ATTR 0x0a /* Dwarf_Attribute */ -#define DW_DLA_TYPE 0x0b /* Dwarf_Type (not used) */ -#define DW_DLA_SUBSCR 0x0c /* Dwarf_Subscr (not used) */ -#define DW_DLA_GLOBAL 0x0d /* Dwarf_Global */ -#define DW_DLA_ERROR 0x0e /* Dwarf_Error */ -#define DW_DLA_LIST 0x0f /* a list */ -#define DW_DLA_LINEBUF 0x10 /* Dwarf_Line* (not used) */ -#define DW_DLA_ARANGE 0x11 /* Dwarf_Arange */ -#define DW_DLA_ABBREV 0x12 /* Dwarf_Abbrev */ -#define DW_DLA_FRAME_OP 0x13 /* Dwarf_Frame_Op */ -#define DW_DLA_CIE 0x14 /* Dwarf_Cie */ -#define DW_DLA_FDE 0x15 /* Dwarf_Fde */ -#define DW_DLA_LOC_BLOCK 0x16 /* Dwarf_Loc Block (not used) */ -#define DW_DLA_FRAME_BLOCK 0x17 /* Dwarf_Frame Block (not used) */ -#define DW_DLA_FUNC 0x18 /* Dwarf_Func */ -#define DW_DLA_TYPENAME 0x19 /* Dwarf_Type */ -#define DW_DLA_VAR 0x1a /* Dwarf_Var */ -#define DW_DLA_WEAK 0x1b /* Dwarf_Weak */ -#define DW_DLA_ADDR 0x1c /* Dwarf_Addr sized entries */ -#define DW_DLA_RANGES 0x1d /* Dwarf_Ranges */ - -/* 0x1e (30) to 0x36 (54) reserved for internal to libdwarf types. */ - -#define DW_DLA_GDBINDEX 0x37 /* Dwarf_Gdbindex */ -#define DW_DLA_XU_INDEX 0x38 /* Dwarf_Xu_Index_Header */ - -/* The augmenter string for CIE */ -#define DW_CIE_AUGMENTER_STRING_V0 "z" - -/* dwarf_init() access arguments -*/ -#define DW_DLC_READ 0 /* read only access */ -#define DW_DLC_WRITE 1 /* write only access */ -#define DW_DLC_RDWR 2 /* read/write access NOT SUPPORTED*/ - -/* dwarf_producer_init*() access flag modifiers - No longer depends on compile-time settings for - how to produce 64bit offset. See DW_DLC_IRIX_OFFSET64. - Historic versions. One of - If DW_DLC_POINTER64 is not set DW_DLC_POINTER32 is assumed. - If DW_DLC_OFFSET64 or DW_DLC_IRIX_OFFSET64 is not - set 32bit offset DWARF is assumed. - Non-MIPS Non IA64 should use DW_DLC_SYMBOLIC_RELOCATIONS - and handle the relocation creation for the target - itself using the symbolic relocations to do so, those - use the Dwarf_Rel_Type enum relocation indicators. - -*/ -/* The first three are traditional dwarf producer names. - These names still work. - Newer names below. -*/ -#define DW_DLC_SIZE_64 0x40000000 /* 64-bit address-size target */ -#define DW_DLC_SIZE_32 0x20000000 /* 32-bit address-size target */ -#define DW_DLC_OFFSET_SIZE_64 0x10000000 /* 64-bit offset-size DWARF */ - -/* dwarf_producer_init*() access flag modifiers - Some new April 2014. - If DW_DLC_STREAM_RELOCATIONS is set the - DW_DLC_ISA_* flags are ignored. See the Dwarf_Rel_Type enum. -*/ - -/* Old style Elf binary relocation (.rel) records. The default. */ -#define DW_DLC_STREAM_RELOCATIONS 0x02000000 - -#define DW_DLC_OFFSET32 0x00010000 /* use 32-bit sec offsets */ -/* The following 3 are new sensible names. Old names above with same values. */ -#define DW_DLC_OFFSET64 0x10000000 /* use 64-bit sec offsets */ -#define DW_DLC_POINTER32 0x20000000 /* use 4 for address_size */ -#define DW_DLC_POINTER64 0x40000000 /* use 8 for address_size */ -/* Special for IRIX only */ -#define DW_DLC_IRIX_OFFSET64 0x00200000 /* use non-std IRIX 64bitoffset headers */ - -/* Usable with assembly output because it is up to the producer to - deal with locations in whatever manner the calling producer - code wishes. For example, when the libdwarf caller wishes - to produce relocations differently than the binary - relocation bits that libdwarf Stream Relocations generate. - */ -#define DW_DLC_SYMBOLIC_RELOCATIONS 0x04000000 - - -#define DW_DLC_TARGET_BIGENDIAN 0x08000000 /* Big endian target */ -#define DW_DLC_TARGET_LITTLEENDIAN 0x00100000 /* Little endian target */ - - -/* dwarf_pcline() slide arguments -*/ -#define DW_DLS_BACKWARD -1 /* slide backward to find line */ -#define DW_DLS_NOSLIDE 0 /* match exactly without sliding */ -#define DW_DLS_FORWARD 1 /* slide forward to find line */ - -/* libdwarf error numbers -*/ -#define DW_DLE_NE 0 /* no error */ -#define DW_DLE_VMM 1 /* dwarf format/library version mismatch */ -#define DW_DLE_MAP 2 /* memory map failure */ -#define DW_DLE_LEE 3 /* libelf error */ -#define DW_DLE_NDS 4 /* no debug section */ -#define DW_DLE_NLS 5 /* no line section */ -#define DW_DLE_ID 6 /* invalid descriptor for query */ -#define DW_DLE_IOF 7 /* I/O failure */ -#define DW_DLE_MAF 8 /* memory allocation failure */ -#define DW_DLE_IA 9 /* invalid argument */ -#define DW_DLE_MDE 10 /* mangled debugging entry */ -#define DW_DLE_MLE 11 /* mangled line number entry */ -#define DW_DLE_FNO 12 /* file not open */ -#define DW_DLE_FNR 13 /* file not a regular file */ -#define DW_DLE_FWA 14 /* file open with wrong access */ -#define DW_DLE_NOB 15 /* not an object file */ -#define DW_DLE_MOF 16 /* mangled object file header */ -#define DW_DLE_EOLL 17 /* end of location list entries */ -#define DW_DLE_NOLL 18 /* no location list section */ -#define DW_DLE_BADOFF 19 /* Invalid offset */ -#define DW_DLE_EOS 20 /* end of section */ -#define DW_DLE_ATRUNC 21 /* abbreviations section appears truncated*/ -#define DW_DLE_BADBITC 22 /* Address size passed to dwarf bad*/ - /* It is not an allowed size (64 or 32) */ - /* Error codes defined by the current Libdwarf Implementation. */ -#define DW_DLE_DBG_ALLOC 23 -#define DW_DLE_FSTAT_ERROR 24 -#define DW_DLE_FSTAT_MODE_ERROR 25 -#define DW_DLE_INIT_ACCESS_WRONG 26 -#define DW_DLE_ELF_BEGIN_ERROR 27 -#define DW_DLE_ELF_GETEHDR_ERROR 28 -#define DW_DLE_ELF_GETSHDR_ERROR 29 -#define DW_DLE_ELF_STRPTR_ERROR 30 -#define DW_DLE_DEBUG_INFO_DUPLICATE 31 -#define DW_DLE_DEBUG_INFO_NULL 32 -#define DW_DLE_DEBUG_ABBREV_DUPLICATE 33 -#define DW_DLE_DEBUG_ABBREV_NULL 34 -#define DW_DLE_DEBUG_ARANGES_DUPLICATE 35 -#define DW_DLE_DEBUG_ARANGES_NULL 36 -#define DW_DLE_DEBUG_LINE_DUPLICATE 37 -#define DW_DLE_DEBUG_LINE_NULL 38 -#define DW_DLE_DEBUG_LOC_DUPLICATE 39 -#define DW_DLE_DEBUG_LOC_NULL 40 -#define DW_DLE_DEBUG_MACINFO_DUPLICATE 41 -#define DW_DLE_DEBUG_MACINFO_NULL 42 -#define DW_DLE_DEBUG_PUBNAMES_DUPLICATE 43 -#define DW_DLE_DEBUG_PUBNAMES_NULL 44 -#define DW_DLE_DEBUG_STR_DUPLICATE 45 -#define DW_DLE_DEBUG_STR_NULL 46 -#define DW_DLE_CU_LENGTH_ERROR 47 -#define DW_DLE_VERSION_STAMP_ERROR 48 -#define DW_DLE_ABBREV_OFFSET_ERROR 49 -#define DW_DLE_ADDRESS_SIZE_ERROR 50 -#define DW_DLE_DEBUG_INFO_PTR_NULL 51 -#define DW_DLE_DIE_NULL 52 -#define DW_DLE_STRING_OFFSET_BAD 53 -#define DW_DLE_DEBUG_LINE_LENGTH_BAD 54 -#define DW_DLE_LINE_PROLOG_LENGTH_BAD 55 -#define DW_DLE_LINE_NUM_OPERANDS_BAD 56 -#define DW_DLE_LINE_SET_ADDR_ERROR 57 /* No longer used. */ -#define DW_DLE_LINE_EXT_OPCODE_BAD 58 -#define DW_DLE_DWARF_LINE_NULL 59 -#define DW_DLE_INCL_DIR_NUM_BAD 60 -#define DW_DLE_LINE_FILE_NUM_BAD 61 -#define DW_DLE_ALLOC_FAIL 62 -#define DW_DLE_NO_CALLBACK_FUNC 63 -#define DW_DLE_SECT_ALLOC 64 -#define DW_DLE_FILE_ENTRY_ALLOC 65 -#define DW_DLE_LINE_ALLOC 66 -#define DW_DLE_FPGM_ALLOC 67 -#define DW_DLE_INCDIR_ALLOC 68 -#define DW_DLE_STRING_ALLOC 69 -#define DW_DLE_CHUNK_ALLOC 70 -#define DW_DLE_BYTEOFF_ERR 71 -#define DW_DLE_CIE_ALLOC 72 -#define DW_DLE_FDE_ALLOC 73 -#define DW_DLE_REGNO_OVFL 74 -#define DW_DLE_CIE_OFFS_ALLOC 75 -#define DW_DLE_WRONG_ADDRESS 76 -#define DW_DLE_EXTRA_NEIGHBORS 77 -#define DW_DLE_WRONG_TAG 78 -#define DW_DLE_DIE_ALLOC 79 -#define DW_DLE_PARENT_EXISTS 80 -#define DW_DLE_DBG_NULL 81 -#define DW_DLE_DEBUGLINE_ERROR 82 -#define DW_DLE_DEBUGFRAME_ERROR 83 -#define DW_DLE_DEBUGINFO_ERROR 84 -#define DW_DLE_ATTR_ALLOC 85 -#define DW_DLE_ABBREV_ALLOC 86 -#define DW_DLE_OFFSET_UFLW 87 -#define DW_DLE_ELF_SECT_ERR 88 -#define DW_DLE_DEBUG_FRAME_LENGTH_BAD 89 -#define DW_DLE_FRAME_VERSION_BAD 90 -#define DW_DLE_CIE_RET_ADDR_REG_ERROR 91 -#define DW_DLE_FDE_NULL 92 -#define DW_DLE_FDE_DBG_NULL 93 -#define DW_DLE_CIE_NULL 94 -#define DW_DLE_CIE_DBG_NULL 95 -#define DW_DLE_FRAME_TABLE_COL_BAD 96 -#define DW_DLE_PC_NOT_IN_FDE_RANGE 97 -#define DW_DLE_CIE_INSTR_EXEC_ERROR 98 -#define DW_DLE_FRAME_INSTR_EXEC_ERROR 99 -#define DW_DLE_FDE_PTR_NULL 100 -#define DW_DLE_RET_OP_LIST_NULL 101 -#define DW_DLE_LINE_CONTEXT_NULL 102 -#define DW_DLE_DBG_NO_CU_CONTEXT 103 -#define DW_DLE_DIE_NO_CU_CONTEXT 104 -#define DW_DLE_FIRST_DIE_NOT_CU 105 -#define DW_DLE_NEXT_DIE_PTR_NULL 106 -#define DW_DLE_DEBUG_FRAME_DUPLICATE 107 -#define DW_DLE_DEBUG_FRAME_NULL 108 -#define DW_DLE_ABBREV_DECODE_ERROR 109 -#define DW_DLE_DWARF_ABBREV_NULL 110 -#define DW_DLE_ATTR_NULL 111 -#define DW_DLE_DIE_BAD 112 -#define DW_DLE_DIE_ABBREV_BAD 113 -#define DW_DLE_ATTR_FORM_BAD 114 -#define DW_DLE_ATTR_NO_CU_CONTEXT 115 -#define DW_DLE_ATTR_FORM_SIZE_BAD 116 -#define DW_DLE_ATTR_DBG_NULL 117 -#define DW_DLE_BAD_REF_FORM 118 -#define DW_DLE_ATTR_FORM_OFFSET_BAD 119 -#define DW_DLE_LINE_OFFSET_BAD 120 -#define DW_DLE_DEBUG_STR_OFFSET_BAD 121 -#define DW_DLE_STRING_PTR_NULL 122 -#define DW_DLE_PUBNAMES_VERSION_ERROR 123 -#define DW_DLE_PUBNAMES_LENGTH_BAD 124 -#define DW_DLE_GLOBAL_NULL 125 -#define DW_DLE_GLOBAL_CONTEXT_NULL 126 -#define DW_DLE_DIR_INDEX_BAD 127 -#define DW_DLE_LOC_EXPR_BAD 128 -#define DW_DLE_DIE_LOC_EXPR_BAD 129 -#define DW_DLE_ADDR_ALLOC 130 -#define DW_DLE_OFFSET_BAD 131 -#define DW_DLE_MAKE_CU_CONTEXT_FAIL 132 -#define DW_DLE_REL_ALLOC 133 -#define DW_DLE_ARANGE_OFFSET_BAD 134 -#define DW_DLE_SEGMENT_SIZE_BAD 135 -#define DW_DLE_ARANGE_LENGTH_BAD 136 -#define DW_DLE_ARANGE_DECODE_ERROR 137 -#define DW_DLE_ARANGES_NULL 138 -#define DW_DLE_ARANGE_NULL 139 -#define DW_DLE_NO_FILE_NAME 140 -#define DW_DLE_NO_COMP_DIR 141 -#define DW_DLE_CU_ADDRESS_SIZE_BAD 142 -#define DW_DLE_INPUT_ATTR_BAD 143 -#define DW_DLE_EXPR_NULL 144 -#define DW_DLE_BAD_EXPR_OPCODE 145 -#define DW_DLE_EXPR_LENGTH_BAD 146 -#define DW_DLE_MULTIPLE_RELOC_IN_EXPR 147 -#define DW_DLE_ELF_GETIDENT_ERROR 148 -#define DW_DLE_NO_AT_MIPS_FDE 149 -#define DW_DLE_NO_CIE_FOR_FDE 150 -#define DW_DLE_DIE_ABBREV_LIST_NULL 151 -#define DW_DLE_DEBUG_FUNCNAMES_DUPLICATE 152 -#define DW_DLE_DEBUG_FUNCNAMES_NULL 153 -#define DW_DLE_DEBUG_FUNCNAMES_VERSION_ERROR 154 -#define DW_DLE_DEBUG_FUNCNAMES_LENGTH_BAD 155 -#define DW_DLE_FUNC_NULL 156 -#define DW_DLE_FUNC_CONTEXT_NULL 157 -#define DW_DLE_DEBUG_TYPENAMES_DUPLICATE 158 -#define DW_DLE_DEBUG_TYPENAMES_NULL 159 -#define DW_DLE_DEBUG_TYPENAMES_VERSION_ERROR 160 -#define DW_DLE_DEBUG_TYPENAMES_LENGTH_BAD 161 -#define DW_DLE_TYPE_NULL 162 -#define DW_DLE_TYPE_CONTEXT_NULL 163 -#define DW_DLE_DEBUG_VARNAMES_DUPLICATE 164 -#define DW_DLE_DEBUG_VARNAMES_NULL 165 -#define DW_DLE_DEBUG_VARNAMES_VERSION_ERROR 166 -#define DW_DLE_DEBUG_VARNAMES_LENGTH_BAD 167 -#define DW_DLE_VAR_NULL 168 -#define DW_DLE_VAR_CONTEXT_NULL 169 -#define DW_DLE_DEBUG_WEAKNAMES_DUPLICATE 170 -#define DW_DLE_DEBUG_WEAKNAMES_NULL 171 -#define DW_DLE_DEBUG_WEAKNAMES_VERSION_ERROR 172 -#define DW_DLE_DEBUG_WEAKNAMES_LENGTH_BAD 173 -#define DW_DLE_WEAK_NULL 174 -#define DW_DLE_WEAK_CONTEXT_NULL 175 -#define DW_DLE_LOCDESC_COUNT_WRONG 176 -#define DW_DLE_MACINFO_STRING_NULL 177 -#define DW_DLE_MACINFO_STRING_EMPTY 178 -#define DW_DLE_MACINFO_INTERNAL_ERROR_SPACE 179 -#define DW_DLE_MACINFO_MALLOC_FAIL 180 -#define DW_DLE_DEBUGMACINFO_ERROR 181 -#define DW_DLE_DEBUG_MACRO_LENGTH_BAD 182 -#define DW_DLE_DEBUG_MACRO_MAX_BAD 183 -#define DW_DLE_DEBUG_MACRO_INTERNAL_ERR 184 -#define DW_DLE_DEBUG_MACRO_MALLOC_SPACE 185 -#define DW_DLE_DEBUG_MACRO_INCONSISTENT 186 -#define DW_DLE_DF_NO_CIE_AUGMENTATION 187 -#define DW_DLE_DF_REG_NUM_TOO_HIGH 188 -#define DW_DLE_DF_MAKE_INSTR_NO_INIT 189 -#define DW_DLE_DF_NEW_LOC_LESS_OLD_LOC 190 -#define DW_DLE_DF_POP_EMPTY_STACK 191 -#define DW_DLE_DF_ALLOC_FAIL 192 -#define DW_DLE_DF_FRAME_DECODING_ERROR 193 -#define DW_DLE_DEBUG_LOC_SECTION_SHORT 194 -#define DW_DLE_FRAME_AUGMENTATION_UNKNOWN 195 -#define DW_DLE_PUBTYPE_CONTEXT 196 /* Unused. */ -#define DW_DLE_DEBUG_PUBTYPES_LENGTH_BAD 197 -#define DW_DLE_DEBUG_PUBTYPES_VERSION_ERROR 198 -#define DW_DLE_DEBUG_PUBTYPES_DUPLICATE 199 -#define DW_DLE_FRAME_CIE_DECODE_ERROR 200 -#define DW_DLE_FRAME_REGISTER_UNREPRESENTABLE 201 -#define DW_DLE_FRAME_REGISTER_COUNT_MISMATCH 202 -#define DW_DLE_LINK_LOOP 203 -#define DW_DLE_STRP_OFFSET_BAD 204 -#define DW_DLE_DEBUG_RANGES_DUPLICATE 205 -#define DW_DLE_DEBUG_RANGES_OFFSET_BAD 206 -#define DW_DLE_DEBUG_RANGES_MISSING_END 207 -#define DW_DLE_DEBUG_RANGES_OUT_OF_MEM 208 -#define DW_DLE_DEBUG_SYMTAB_ERR 209 -#define DW_DLE_DEBUG_STRTAB_ERR 210 -#define DW_DLE_RELOC_MISMATCH_INDEX 211 -#define DW_DLE_RELOC_MISMATCH_RELOC_INDEX 212 -#define DW_DLE_RELOC_MISMATCH_STRTAB_INDEX 213 -#define DW_DLE_RELOC_SECTION_MISMATCH 214 -#define DW_DLE_RELOC_SECTION_MISSING_INDEX 215 -#define DW_DLE_RELOC_SECTION_LENGTH_ODD 216 -#define DW_DLE_RELOC_SECTION_PTR_NULL 217 -#define DW_DLE_RELOC_SECTION_MALLOC_FAIL 218 -#define DW_DLE_NO_ELF64_SUPPORT 219 -#define DW_DLE_MISSING_ELF64_SUPPORT 220 -#define DW_DLE_ORPHAN_FDE 221 -#define DW_DLE_DUPLICATE_INST_BLOCK 222 -#define DW_DLE_BAD_REF_SIG8_FORM 223 -#define DW_DLE_ATTR_EXPRLOC_FORM_BAD 224 -#define DW_DLE_FORM_SEC_OFFSET_LENGTH_BAD 225 -#define DW_DLE_NOT_REF_FORM 226 -#define DW_DLE_DEBUG_FRAME_LENGTH_NOT_MULTIPLE 227 -#define DW_DLE_REF_SIG8_NOT_HANDLED 228 -#define DW_DLE_DEBUG_FRAME_POSSIBLE_ADDRESS_BOTCH 229 -#define DW_DLE_LOC_BAD_TERMINATION 230 -#define DW_DLE_SYMTAB_SECTION_LENGTH_ODD 231 -#define DW_DLE_RELOC_SECTION_SYMBOL_INDEX_BAD 232 -#define DW_DLE_RELOC_SECTION_RELOC_TARGET_SIZE_UNKNOWN 233 -#define DW_DLE_SYMTAB_SECTION_ENTRYSIZE_ZERO 234 -#define DW_DLE_LINE_NUMBER_HEADER_ERROR 235 -#define DW_DLE_DEBUG_TYPES_NULL 236 -#define DW_DLE_DEBUG_TYPES_DUPLICATE 237 -#define DW_DLE_DEBUG_TYPES_ONLY_DWARF4 238 -#define DW_DLE_DEBUG_TYPEOFFSET_BAD 239 -#define DW_DLE_GNU_OPCODE_ERROR 240 -#define DW_DLE_DEBUGPUBTYPES_ERROR 241 -#define DW_DLE_AT_FIXUP_NULL 242 -#define DW_DLE_AT_FIXUP_DUP 243 -#define DW_DLE_BAD_ABINAME 244 -#define DW_DLE_TOO_MANY_DEBUG 245 -#define DW_DLE_DEBUG_STR_OFFSETS_DUPLICATE 246 -#define DW_DLE_SECTION_DUPLICATION 247 -#define DW_DLE_SECTION_ERROR 248 -#define DW_DLE_DEBUG_ADDR_DUPLICATE 249 -#define DW_DLE_DEBUG_CU_UNAVAILABLE_FOR_FORM 250 -#define DW_DLE_DEBUG_FORM_HANDLING_INCOMPLETE 251 -#define DW_DLE_NEXT_DIE_PAST_END 252 -#define DW_DLE_NEXT_DIE_WRONG_FORM 253 -#define DW_DLE_NEXT_DIE_NO_ABBREV_LIST 254 -#define DW_DLE_NESTED_FORM_INDIRECT_ERROR 255 -#define DW_DLE_CU_DIE_NO_ABBREV_LIST 256 -#define DW_DLE_MISSING_NEEDED_DEBUG_ADDR_SECTION 257 -#define DW_DLE_ATTR_FORM_NOT_ADDR_INDEX 258 -#define DW_DLE_ATTR_FORM_NOT_STR_INDEX 259 -#define DW_DLE_DUPLICATE_GDB_INDEX 260 -#define DW_DLE_ERRONEOUS_GDB_INDEX_SECTION 261 -#define DW_DLE_GDB_INDEX_COUNT_ERROR 262 -#define DW_DLE_GDB_INDEX_COUNT_ADDR_ERROR 263 -#define DW_DLE_GDB_INDEX_INDEX_ERROR 264 -#define DW_DLE_GDB_INDEX_CUVEC_ERROR 265 -#define DW_DLE_DUPLICATE_CU_INDEX 266 -#define DW_DLE_DUPLICATE_TU_INDEX 267 -#define DW_DLE_XU_TYPE_ARG_ERROR 268 -#define DW_DLE_XU_IMPOSSIBLE_ERROR 269 -#define DW_DLE_XU_NAME_COL_ERROR 270 -#define DW_DLE_XU_HASH_ROW_ERROR 271 -#define DW_DLE_XU_HASH_INDEX_ERROR 272 - -/* DW_DLE_FAILSAFE_ERRVAL is an aid when out of memory. */ -#define DW_DLE_FAILSAFE_ERRVAL 273 -#define DW_DLE_ARANGE_ERROR 274 -#define DW_DLE_PUBNAMES_ERROR 275 -#define DW_DLE_FUNCNAMES_ERROR 276 -#define DW_DLE_TYPENAMES_ERROR 277 -#define DW_DLE_VARNAMES_ERROR 278 -#define DW_DLE_WEAKNAMES_ERROR 279 -#define DW_DLE_RELOCS_ERROR 280 -#define DW_DLE_ATTR_OUTSIDE_SECTION 281 -#define DW_DLE_FISSION_INDEX_WRONG 282 -#define DW_DLE_FISSION_VERSION_ERROR 283 -#define DW_DLE_NEXT_DIE_LOW_ERROR 284 - - /* DW_DLE_LAST MUST EQUAL LAST ERROR NUMBER */ -#define DW_DLE_LAST 284 -#define DW_DLE_LO_USER 0x10000 - - /* Taken as meaning 'undefined value', this is not - a column or register number. - Only present at libdwarf runtime. Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - */ -#define DW_FRAME_UNDEFINED_VAL 1034 - - /* Taken as meaning 'same value' as caller had, not a column - or register number - Only present at libdwarf runtime. Never on disk. - DW_FRAME_* Values present on disk are in dwarf.h - */ -#define DW_FRAME_SAME_VAL 1035 - - - -/* error return values -*/ -#define DW_DLV_BADADDR (~(Dwarf_Addr)0) - /* for functions returning target address */ - -#define DW_DLV_NOCOUNT ((Dwarf_Signed)-1) - /* for functions returning count */ - -#define DW_DLV_BADOFFSET (~(Dwarf_Off)0) - /* for functions returning offset */ - -/* standard return values for functions */ -#define DW_DLV_NO_ENTRY -1 -#define DW_DLV_OK 0 -#define DW_DLV_ERROR 1 - -/* Special values for offset_into_exception_table field of dwarf fde's. */ -/* The following value indicates that there is no Exception table offset - associated with a dwarf frame. */ -#define DW_DLX_NO_EH_OFFSET (-1LL) -/* The following value indicates that the producer was unable to analyse the - source file to generate Exception tables for this function. */ -#define DW_DLX_EH_OFFSET_UNAVAILABLE (-2LL) - -/* The dwarf specification separates FORMs into -different classes. To do the seperation properly -requires 4 pieces of data as of DWARF4 (thus the -function arguments listed here). -The DWARF4 specification class definition suffices to -describe all DWARF versions. -See section 7.5.4, Attribute Encodings. -A return of DW_FORM_CLASS_UNKNOWN means we could not properly figure -out what form-class it is. - - DW_FORM_CLASS_FRAMEPTR is MIPS/IRIX only, and refers - to the DW_AT_MIPS_fde attribute (a reference to the - .debug_frame section). -*/ -enum Dwarf_Form_Class { - DW_FORM_CLASS_UNKNOWN, DW_FORM_CLASS_ADDRESS, - DW_FORM_CLASS_BLOCK, DW_FORM_CLASS_CONSTANT, - DW_FORM_CLASS_EXPRLOC, DW_FORM_CLASS_FLAG, - DW_FORM_CLASS_LINEPTR, DW_FORM_CLASS_LOCLISTPTR, - DW_FORM_CLASS_MACPTR, DW_FORM_CLASS_RANGELISTPTR, - DW_FORM_CLASS_REFERENCE, DW_FORM_CLASS_STRING, - DW_FORM_CLASS_FRAMEPTR -}; - - -/*===========================================================================*/ -/* Dwarf consumer interface initialization and termination operations */ - -/* Initialization based on Unix open fd (using libelf internally). */ -int dwarf_init(int /*fd*/, - Dwarf_Unsigned /*access*/, - Dwarf_Handler /*errhand*/, - Dwarf_Ptr /*errarg*/, - Dwarf_Debug* /*dbg*/, - Dwarf_Error* /*error*/); - -/* Initialization based on libelf/sgi-fastlibelf open pointer. */ -int dwarf_elf_init(dwarf_elf_handle /*elf*/, - Dwarf_Unsigned /*access*/, - Dwarf_Handler /*errhand*/, - Dwarf_Ptr /*errarg*/, - Dwarf_Debug* /*dbg*/, - Dwarf_Error* /*error*/); - -/* Undocumented function for memory allocator. */ -void dwarf_print_memory_stats(Dwarf_Debug /*dbg*/); - -int dwarf_get_elf(Dwarf_Debug /*dbg*/, - dwarf_elf_handle* /*return_elfptr*/, - Dwarf_Error* /*error*/); - -int dwarf_finish(Dwarf_Debug /*dbg*/, Dwarf_Error* /*error*/); - - -int dwarf_object_init(Dwarf_Obj_Access_Interface* /* obj */, - Dwarf_Handler /* errhand */, - Dwarf_Ptr /* errarg */, - Dwarf_Debug* /* dbg */, - Dwarf_Error* /* error */); - -int dwarf_object_finish(Dwarf_Debug /* dbg */, - Dwarf_Error* /* error */); - -/* Section name access. Because sections might - now end with .dwo or might not (as of DWARF5) */ -int -dwarf_get_die_section_name(Dwarf_Debug /*dbg*/, - Dwarf_Bool /*is_info*/, - const char ** /*sec_name*/, - Dwarf_Error * /*error*/); - - -/* Die traversal operations. - dwarf_next_cu_header_b() traverses debug_info CU headers. - */ -int dwarf_next_cu_header_b(Dwarf_Debug /*dbg*/, - Dwarf_Unsigned* /*cu_header_length*/, - Dwarf_Half* /*version_stamp*/, - Dwarf_Off* /*abbrev_offset*/, - Dwarf_Half* /*address_size*/, - Dwarf_Half* /*length_size*/, - Dwarf_Half* /*extension_size*/, - Dwarf_Unsigned* /*next_cu_header_offset*/, - Dwarf_Error* /*error*/); - -/* dwarf_next_cu_header_types() traverses debug_types CU headers. - New in October, 2011 - */ -int dwarf_next_cu_header_c(Dwarf_Debug /*dbg*/, - Dwarf_Bool /*is_info*/, - Dwarf_Unsigned* /*cu_header_length*/, - Dwarf_Half* /*version_stamp*/, - Dwarf_Off* /*abbrev_offset*/, - Dwarf_Half* /*address_size*/, - Dwarf_Half* /*length_size*/, - Dwarf_Half* /*extension_size*/, - Dwarf_Sig8* /*type signature*/, - Dwarf_Unsigned* /*typeoffset*/, - Dwarf_Unsigned* /*next_cu_header_offset*/, - Dwarf_Error* /*error*/); -/* The following is obsolete, though supported. November 2009. */ -int dwarf_next_cu_header(Dwarf_Debug /*dbg*/, - Dwarf_Unsigned* /*cu_header_length*/, - Dwarf_Half* /*version_stamp*/, - Dwarf_Off* /*abbrev_offset*/, - Dwarf_Half* /*address_size*/, - Dwarf_Unsigned* /*next_cu_header_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_siblingof(Dwarf_Debug /*dbg*/, - Dwarf_Die /*die*/, - Dwarf_Die* /*return_siblingdie*/, - Dwarf_Error* /*error*/); -/* dwarf_siblingof_b new October 2011. */ -int dwarf_siblingof_b(Dwarf_Debug /*dbg*/, - Dwarf_Die /*die*/, - Dwarf_Bool /*is_info*/, - Dwarf_Die* /*return_siblingdie*/, - Dwarf_Error* /*error*/); - -int dwarf_child(Dwarf_Die /*die*/, - Dwarf_Die* /*return_childdie*/, - Dwarf_Error* /*error*/); - -/* Finding die given global (not CU-relative) offset. - Applies only to debug_info. */ -int dwarf_offdie(Dwarf_Debug /*dbg*/, - Dwarf_Off /*offset*/, - Dwarf_Die* /*return_die*/, - Dwarf_Error* /*error*/); - -/* dwarf_offdie_b() new October 2011 */ -/* Finding die given global (not CU-relative) offset. - Applies to debug_info (is_info true) or debug_types (is_info false). */ -int dwarf_offdie_b(Dwarf_Debug /*dbg*/, - Dwarf_Off /*offset*/, - Dwarf_Bool /*is_info*/, - Dwarf_Die* /*return_die*/, - Dwarf_Error* /*error*/); - -/* Returns the is_info flag through the pointer if the function returns - DW_DLV_OK. Needed so client software knows if a DIE is in debug_info - or debug_types. - New October 2011. */ -Dwarf_Bool dwarf_get_die_infotypes_flag(Dwarf_Die /*die*/); - -/* Higher level functions (Unimplemented) */ -int dwarf_pcfile(Dwarf_Debug /*dbg*/, - Dwarf_Addr /*pc*/, - Dwarf_Die* /*return_die*/, - Dwarf_Error* /*error*/); - -/* Unimplemented */ -int dwarf_pcsubr(Dwarf_Debug /*dbg*/, - Dwarf_Addr /*pc*/, - Dwarf_Die* /*return_die*/, - Dwarf_Error* /*error*/); - -/* Unimplemented */ -int dwarf_pcscope(Dwarf_Debug /*dbg*/, - Dwarf_Addr /*pc*/, - Dwarf_Die* /*return_die*/, - Dwarf_Error* /*error*/); - -/* operations on DIEs */ -int dwarf_tag(Dwarf_Die /*die*/, - Dwarf_Half* /*return_tag*/, - Dwarf_Error* /*error*/); - -/* utility? */ -/* dwarf_dieoffset returns the global debug_info - section offset, not the CU relative offset. */ -int dwarf_dieoffset(Dwarf_Die /*die*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -/* dwarf_CU_dieoffset_given_die returns - the global debug_info section offset of the CU die - that is the CU containing the given_die - (the passed in DIE can be any DIE). - This information makes it possible for a consumer to - find and print CU context information for any die. - See also dwarf_get_cu_die_offset_given_cu_header_offset(). */ -int dwarf_CU_dieoffset_given_die(Dwarf_Die /*given_die*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -/* dwarf_die_CU_offset returns the CU relative offset - not the global debug_info section offset, given - any DIE in the CU. See also dwarf_CU_dieoffset_given_die(). - */ -int dwarf_die_CU_offset(Dwarf_Die /*die*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_die_CU_offset_range(Dwarf_Die /*die*/, - Dwarf_Off* /*return_CU_header_offset*/, - Dwarf_Off* /*return_CU_length_bytes*/, - Dwarf_Error* /*error*/); - -int dwarf_attr (Dwarf_Die /*die*/, - Dwarf_Half /*attr*/, - Dwarf_Attribute * /*returned_attr*/, - Dwarf_Error* /*error*/); - -int dwarf_diename(Dwarf_Die /*die*/, - char ** /*diename*/, - Dwarf_Error* /*error*/); - -/* Returns the abbrev code of the die. Cannot fail. */ -int dwarf_die_abbrev_code(Dwarf_Die /*die */); - -/* Returns a flag through ab_has_child. Non-zero if - the DIE has children, zero if it does not. */ -int dwarf_die_abbrev_children_flag(Dwarf_Die /*die*/, - Dwarf_Half * /*ab_has_child*/); - -/* Validate the sibling DIE. This only makes sense to call - if the sibling's DIEs have been travsersed and - dwarf_child() called on each, - so that the last DIE dwarf_child saw was the last. - Essentially ensuring that (after such traversal) that we - are in the same place a sibling attribute would identify. - In case we return DW_DLV_ERROR, the global offset of the last - DIE traversed by dwarf_child is returned through *offset */ -int dwarf_validate_die_sibling(Dwarf_Die /*sibling*/,Dwarf_Off* /*offset*/); - -/* convenience functions, alternative to using dwarf_attrlist() */ -int dwarf_hasattr(Dwarf_Die /*die*/, - Dwarf_Half /*attr*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -/* dwarf_loclist_n preferred over dwarf_loclist */ -int dwarf_loclist_n(Dwarf_Attribute /*attr*/, - Dwarf_Locdesc*** /*llbuf*/, - Dwarf_Signed * /*locCount*/, - Dwarf_Error* /*error*/); - -int dwarf_loclist(Dwarf_Attribute /*attr*/, /* inflexible! */ - Dwarf_Locdesc** /*llbuf*/, - Dwarf_Signed * /*locCount*/, - Dwarf_Error* /*error*/); - -/* Extracts a dwarf expression from an expression byte stream. - Useful to get expressions from DW_CFA_def_cfa_expression - DW_CFA_expression DW_CFA_val_expression expression bytes. - 27 April 2009: dwarf_loclist_from_expr() interface with - no addr_size is obsolete but supported, - use dwarf_loclist_from_expr_a() instead. -*/ -int dwarf_loclist_from_expr(Dwarf_Debug /*dbg*/, - Dwarf_Ptr /* expression_in*/, - Dwarf_Unsigned /* expression_length*/, - Dwarf_Locdesc ** /* llbuf*/, - Dwarf_Signed * /*listlen*/, - Dwarf_Error * /* error*/ ); - -/* dwarf_loclist_from_expr_a() new 27 Apr 2009: - added addr_size argument. */ -int dwarf_loclist_from_expr_a(Dwarf_Debug /*dbg*/, - Dwarf_Ptr /*expression_in*/, - Dwarf_Unsigned /*expression_length*/, - Dwarf_Half /*addr_size*/, - Dwarf_Locdesc ** /*llbuf*/, - Dwarf_Signed * /*listlen*/, - Dwarf_Error * /*error*/); - -/* dwarf_loclist_from_expr_b() new 13 Nov 2012: - added dwarf_version (DWARF version number - of the applicable compilation unit) - and offset_size arguments. Added for - DW_OP_GNU_implicit_pointer. */ -int -dwarf_loclist_from_expr_b(Dwarf_Debug /*dbg*/, - Dwarf_Ptr /*expression_in*/ , - Dwarf_Unsigned /*expression_length*/ , - Dwarf_Half /*addr_size*/ , - Dwarf_Half /*offset_size*/ , - Dwarf_Small /*dwarf_version*/ , - Dwarf_Locdesc ** /*llbuf*/ , - Dwarf_Signed * /*listlen*/ , - Dwarf_Error * /*error*/ ); - - -/* Unimplemented */ -int dwarf_stringlen(Dwarf_Die /*die*/, - Dwarf_Locdesc ** /*returned_locdesc*/, - Dwarf_Error* /*error*/); - -/* Unimplemented */ -int dwarf_subscrcnt(Dwarf_Die /*die*/, - Dwarf_Signed * /*returned_count*/, - Dwarf_Error* /*error*/); - -/* Unimplemented */ -int dwarf_nthsubscr(Dwarf_Die /*die*/, - Dwarf_Unsigned /*ssndx*/, - Dwarf_Die * /*returned_die*/, - Dwarf_Error* /*error*/); - -int dwarf_lowpc(Dwarf_Die /*die*/, - Dwarf_Addr * /*returned_addr*/, - Dwarf_Error* /*error*/); - -/* When the highpc attribute is of class 'constant' - it is not an address, it is an offset from the - base address (such as lowpc) of the function. - This is therefore a required interface for DWARF4 - style DW_AT_highpc. - */ -int dwarf_highpc_b(Dwarf_Die /*die*/, - Dwarf_Addr * /*return_value*/, - Dwarf_Half * /*return_form*/, - enum Dwarf_Form_Class * /*return_class*/, - Dwarf_Error * /*error*/); - -/* This works for DWARF2 and DWARF3 styles of DW_AT_highpc, - but not for the DWARF4 class constant forms. - If the FORM is of class constant this returns an error */ -int dwarf_highpc(Dwarf_Die /*die*/, - Dwarf_Addr * /*returned_addr*/, - Dwarf_Error* /*error*/); - -int dwarf_bytesize(Dwarf_Die /*die*/, - Dwarf_Unsigned * /*returned_size*/, - Dwarf_Error* /*error*/); - -/* Unimplemented */ -int dwarf_isbitfield(Dwarf_Die /*die*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -int dwarf_bitsize(Dwarf_Die /*die*/, - Dwarf_Unsigned * /*returned_size*/, - Dwarf_Error* /*error*/); - -int dwarf_bitoffset(Dwarf_Die /*die*/, - Dwarf_Unsigned * /*returned_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_srclang(Dwarf_Die /*die*/, - Dwarf_Unsigned * /*returned_lang*/, - Dwarf_Error* /*error*/); - -int dwarf_arrayorder(Dwarf_Die /*die*/, - Dwarf_Unsigned * /*returned_order*/, - Dwarf_Error* /*error*/); - -/* end of convenience function list */ - -/* this is the main interface to attributes of a DIE */ -int dwarf_attrlist(Dwarf_Die /*die*/, - Dwarf_Attribute** /*attrbuf*/, - Dwarf_Signed * /*attrcount*/, - Dwarf_Error* /*error*/); - -/* query operations for attributes */ -int dwarf_hasform(Dwarf_Attribute /*attr*/, - Dwarf_Half /*form*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -int dwarf_whatform(Dwarf_Attribute /*attr*/, - Dwarf_Half * /*returned_final_form*/, - Dwarf_Error* /*error*/); - -int dwarf_whatform_direct(Dwarf_Attribute /*attr*/, - Dwarf_Half * /*returned_initial_form*/, - Dwarf_Error* /*error*/); - -int dwarf_whatattr(Dwarf_Attribute /*attr*/, - Dwarf_Half * /*returned_attr_num*/, - Dwarf_Error* /*error*/); - -/* - The following are concerned with the Primary Interface: getting - the actual data values. One function per 'kind' of FORM. -*/ -/* dwarf_formref returns, thru return_offset, a CU-relative offset - and does not allow DW_FORM_ref_addr*/ -int dwarf_formref(Dwarf_Attribute /*attr*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); -/* dwarf_global_formref returns, thru return_offset, - a debug_info-relative offset and does allow all reference forms*/ -int dwarf_global_formref(Dwarf_Attribute /*attr*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -/* dwarf_formsig8 returns in the caller-provided 8 byte area - the 8 bytes of a DW_FORM_ref_sig8. Not a string. */ -int dwarf_formsig8(Dwarf_Attribute /*attr*/, - Dwarf_Sig8 * /*returned sig bytes*/, - Dwarf_Error* /*error*/); - -int dwarf_formaddr(Dwarf_Attribute /*attr*/, - Dwarf_Addr * /*returned_addr*/, - Dwarf_Error* /*error*/); - -/* Part of DebugFission. So a consumer can get the index when - the object with the actual .debug_addr section is - elsewhere. And so a print application can - print the index. New May 2014*/ -int dwarf_get_debug_addr_index(Dwarf_Attribute /*attr*/, - Dwarf_Unsigned * /*return_index*/, - Dwarf_Error * /*error*/); - - -int dwarf_formflag(Dwarf_Attribute /*attr*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -int dwarf_formudata(Dwarf_Attribute /*attr*/, - Dwarf_Unsigned * /*returned_val*/, - Dwarf_Error* /*error*/); - -int dwarf_formsdata(Dwarf_Attribute /*attr*/, - Dwarf_Signed * /*returned_val*/, - Dwarf_Error* /*error*/); - -int dwarf_formblock(Dwarf_Attribute /*attr*/, - Dwarf_Block ** /*returned_block*/, - Dwarf_Error* /*error*/); - -int dwarf_formstring(Dwarf_Attribute /*attr*/, - char ** /*returned_string*/, - Dwarf_Error* /*error*/); - -/* DebugFission. So a DWARF print application can - get the string index (DW_FORM_strx) and print it. - A convenience function. - New May 2014. */ -int -dwarf_get_debug_str_index(Dwarf_Attribute /*attr*/, - Dwarf_Unsigned * /*return_index*/, - Dwarf_Error * /*error*/); - - -int dwarf_formexprloc(Dwarf_Attribute /*attr*/, - Dwarf_Unsigned * /*return_exprlen*/, - Dwarf_Ptr * /*block_ptr*/, - Dwarf_Error * /*error*/); - - -/* end attribute query operations. */ - -/* line number operations */ -/* dwarf_srclines is the normal interface */ -int dwarf_srclines(Dwarf_Die /*die*/, - Dwarf_Line** /*linebuf*/, - Dwarf_Signed * /*linecount*/, - Dwarf_Error* /*error*/); - -/* dwarf_srclines_dealloc, created July 2005, is the new - method for deallocating what dwarf_srclines returns. - More complete free than using dwarf_dealloc directly. */ -void dwarf_srclines_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Line* /*linebuf*/, - Dwarf_Signed /*count */); - -/* While 'filecount' is signed, the value - returned through the pointer is never negative. */ -int dwarf_srcfiles(Dwarf_Die /*die*/, - char*** /*srcfiles*/, - Dwarf_Signed * /*filecount*/, - Dwarf_Error* /*error*/); - -/* Unimplemented. */ -int dwarf_dieline(Dwarf_Die /*die*/, - Dwarf_Line * /*returned_line*/, - Dwarf_Error * /*error*/); - -int dwarf_linebeginstatement(Dwarf_Line /*line*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -int dwarf_lineendsequence(Dwarf_Line /*line*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -int dwarf_lineno(Dwarf_Line /*line*/, - Dwarf_Unsigned * /*returned_lineno*/, - Dwarf_Error* /*error*/); - -int dwarf_line_srcfileno(Dwarf_Line /*line*/, - Dwarf_Unsigned * /*ret_fileno*/, - Dwarf_Error * /*error*/); - -/* Is the line address from DW_LNS_set_address? */ -int dwarf_line_is_addr_set(Dwarf_Line /*line*/, - Dwarf_Bool * /*is_addr_set*/, - Dwarf_Error * /*error*/); - -int dwarf_lineaddr(Dwarf_Line /*line*/, - Dwarf_Addr * /*returned_addr*/, - Dwarf_Error* /*error*/); - -/* dwarf_lineoff() is OBSOLETE as of December 2011. Do not use. */ -int dwarf_lineoff(Dwarf_Line /*line*/, - Dwarf_Signed * /*returned_lineoffset*/, - Dwarf_Error* /*error*/); -/* dwarf_lineoff_b() correctly returns an unsigned column number - through the pointer returned_offset. - dwarf_lineoff_b() is new in December 2011. */ -int dwarf_lineoff_b(Dwarf_Line /*line*/, - Dwarf_Unsigned * /*returned_lineoffset*/, - Dwarf_Error* /*error*/); - -int dwarf_linesrc(Dwarf_Line /*line*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_lineblock(Dwarf_Line /*line*/, - Dwarf_Bool * /*returned_bool*/, - Dwarf_Error* /*error*/); - -/* We gather these into one call as it's likely one - will want all or none of them. */ -int dwarf_prologue_end_etc(Dwarf_Line /* line */, - Dwarf_Bool * /*prologue_end*/, - Dwarf_Bool * /*eplogue_begin*/, - Dwarf_Unsigned * /* isa */, - Dwarf_Unsigned * /* discriminator */, - Dwarf_Error * /*error*/); - -/* Tertiary interface to line info */ -/* Unimplemented */ -int dwarf_pclines(Dwarf_Debug /*dbg*/, - Dwarf_Addr /*pc*/, - Dwarf_Line** /*linebuf*/, - Dwarf_Signed * /*linecount*/, - Dwarf_Signed /*slide*/, - Dwarf_Error* /*error*/); -/* end line number operations */ - -/* global name space operations (.debug_pubnames access) */ -int dwarf_get_globals(Dwarf_Debug /*dbg*/, - Dwarf_Global** /*globals*/, - Dwarf_Signed * /*number_of_globals*/, - Dwarf_Error* /*error*/); -void dwarf_globals_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Global* /*globals*/, - Dwarf_Signed /*number_of_globals*/); - -int dwarf_globname(Dwarf_Global /*glob*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_global_die_offset(Dwarf_Global /*global*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error * /*error*/); - -/* This returns the CU die global offset if one knows the - CU header global offset. - See also dwarf_CU_dieoffset_given_die(). */ -int dwarf_get_cu_die_offset_given_cu_header_offset( - Dwarf_Debug /*dbg*/, - Dwarf_Off /*in_cu_header_offset*/, - Dwarf_Off * /*out_cu_die_offset*/, - Dwarf_Error * /*err*/); - -/* The _b form is new October 2011. */ -int dwarf_get_cu_die_offset_given_cu_header_offset_b( - Dwarf_Debug /*dbg*/, - Dwarf_Off /*in_cu_header_offset*/, - Dwarf_Bool /*is_info. True means look in debug_Info, - false use debug_types.*/, - Dwarf_Off * /*out_cu_die_offset*/, - Dwarf_Error * /*err*/); - -#ifdef __sgi /* pragma is sgi MIPS only */ -#pragma optional dwarf_get_cu_die_offset_given_cu_header_offset -#endif - -int dwarf_global_cu_offset(Dwarf_Global /*global*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_global_name_offsets(Dwarf_Global /*global*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* Static function name operations. */ -int dwarf_get_funcs(Dwarf_Debug /*dbg*/, - Dwarf_Func** /*funcs*/, - Dwarf_Signed * /*number_of_funcs*/, - Dwarf_Error* /*error*/); -void dwarf_funcs_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Func* /*funcs*/, - Dwarf_Signed /*number_of_funcs*/); - -int dwarf_funcname(Dwarf_Func /*func*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_func_die_offset(Dwarf_Func /*func*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_func_cu_offset(Dwarf_Func /*func*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_func_name_offsets(Dwarf_Func /*func*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* User-defined type name operations, SGI IRIX .debug_typenames section. - Same content as DWARF3 .debug_pubtypes, but defined years before - .debug_pubtypes was defined. SGI IRIX only. */ -int dwarf_get_types(Dwarf_Debug /*dbg*/, - Dwarf_Type** /*types*/, - Dwarf_Signed * /*number_of_types*/, - Dwarf_Error* /*error*/); -void dwarf_types_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Type* /*types*/, - Dwarf_Signed /*number_of_types*/); - - -int dwarf_typename(Dwarf_Type /*type*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_type_die_offset(Dwarf_Type /*type*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_type_cu_offset(Dwarf_Type /*type*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_type_name_offsets(Dwarf_Type /*type*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* User-defined type name operations, DWARF3 .debug_pubtypes section. -*/ -int dwarf_get_pubtypes(Dwarf_Debug /*dbg*/, - Dwarf_Type** /*types*/, - Dwarf_Signed * /*number_of_types*/, - Dwarf_Error* /*error*/); -void dwarf_pubtypes_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Type* /*pubtypes*/, - Dwarf_Signed /*number_of_pubtypes*/); - - -int dwarf_pubtypename(Dwarf_Type /*type*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_pubtype_die_offset(Dwarf_Type /*type*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_pubtype_cu_offset(Dwarf_Type /*type*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_pubtype_name_offsets(Dwarf_Type /*type*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* File-scope static variable name operations. */ -int dwarf_get_vars(Dwarf_Debug /*dbg*/, - Dwarf_Var** /*vars*/, - Dwarf_Signed * /*number_of_vars*/, - Dwarf_Error* /*error*/); -void dwarf_vars_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Var* /*vars*/, - Dwarf_Signed /*number_of_vars*/); - - -int dwarf_varname(Dwarf_Var /*var*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_var_die_offset(Dwarf_Var /*var*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_var_cu_offset(Dwarf_Var /*var*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_var_name_offsets(Dwarf_Var /*var*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* weak name operations. */ -int dwarf_get_weaks(Dwarf_Debug /*dbg*/, - Dwarf_Weak** /*weaks*/, - Dwarf_Signed * /*number_of_weaks*/, - Dwarf_Error* /*error*/); -void dwarf_weaks_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Weak* /*weaks*/, - Dwarf_Signed /*number_of_weaks*/); - - -int dwarf_weakname(Dwarf_Weak /*weak*/, - char ** /*returned_name*/, - Dwarf_Error* /*error*/); - -int dwarf_weak_die_offset(Dwarf_Weak /*weak*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_weak_cu_offset(Dwarf_Weak /*weak*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_weak_name_offsets(Dwarf_Weak /*weak*/, - char ** /*returned_name*/, - Dwarf_Off* /*die_offset*/, - Dwarf_Off* /*cu_offset*/, - Dwarf_Error* /*error*/); - -/* location list section operation. (.debug_loc access) */ -int dwarf_get_loclist_entry(Dwarf_Debug /*dbg*/, - Dwarf_Unsigned /*offset*/, - Dwarf_Addr* /*hipc*/, - Dwarf_Addr* /*lopc*/, - Dwarf_Ptr* /*data*/, - Dwarf_Unsigned* /*entry_len*/, - Dwarf_Unsigned* /*next_entry*/, - Dwarf_Error* /*error*/); - -/* abbreviation section operations */ -int dwarf_get_abbrev(Dwarf_Debug /*dbg*/, - Dwarf_Unsigned /*offset*/, - Dwarf_Abbrev * /*returned_abbrev*/, - Dwarf_Unsigned* /*length*/, - Dwarf_Unsigned* /*attr_count*/, - Dwarf_Error* /*error*/); - -int dwarf_get_abbrev_tag(Dwarf_Abbrev /*abbrev*/, - Dwarf_Half* /*return_tag_number*/, - Dwarf_Error* /*error*/); -int dwarf_get_abbrev_code(Dwarf_Abbrev /*abbrev*/, - Dwarf_Unsigned* /*return_code_number*/, - Dwarf_Error* /*error*/); -/* See comments in dwarf_abbrev.c. Not an entirely safe function. */ -int dwarf_get_abbrev_count(Dwarf_Debug /*dbg*/); - -int dwarf_get_abbrev_children_flag(Dwarf_Abbrev /*abbrev*/, - Dwarf_Signed* /*return_flag*/, - Dwarf_Error* /*error*/); - -int dwarf_get_abbrev_entry(Dwarf_Abbrev /*abbrev*/, - Dwarf_Signed /*index*/, - Dwarf_Half * /*returned_attr_num*/, - Dwarf_Signed* /*form*/, - Dwarf_Off* /*offset*/, - Dwarf_Error* /*error*/); - -/* consumer string section operation */ -int dwarf_get_str(Dwarf_Debug /*dbg*/, - Dwarf_Off /*offset*/, - char** /*string*/, - Dwarf_Signed * /*strlen_of_string*/, - Dwarf_Error* /*error*/); - -/* Consumer op on gnu .eh_frame info */ -int dwarf_get_fde_list_eh( - Dwarf_Debug /*dbg*/, - Dwarf_Cie** /*cie_data*/, - Dwarf_Signed* /*cie_element_count*/, - Dwarf_Fde** /*fde_data*/, - Dwarf_Signed* /*fde_element_count*/, - Dwarf_Error* /*error*/); - - -/* consumer operations on frame info: .debug_frame */ -int dwarf_get_fde_list(Dwarf_Debug /*dbg*/, - Dwarf_Cie** /*cie_data*/, - Dwarf_Signed* /*cie_element_count*/, - Dwarf_Fde** /*fde_data*/, - Dwarf_Signed* /*fde_element_count*/, - Dwarf_Error* /*error*/); - -/* Release storage gotten by dwarf_get_fde_list_eh() or - dwarf_get_fde_list() */ -void dwarf_fde_cie_list_dealloc(Dwarf_Debug dbg, - Dwarf_Cie *cie_data, - Dwarf_Signed cie_element_count, - Dwarf_Fde *fde_data, - Dwarf_Signed fde_element_count); - - - -int dwarf_get_fde_range(Dwarf_Fde /*fde*/, - Dwarf_Addr* /*low_pc*/, - Dwarf_Unsigned* /*func_length*/, - Dwarf_Ptr* /*fde_bytes*/, - Dwarf_Unsigned* /*fde_byte_length*/, - Dwarf_Off* /*cie_offset*/, - Dwarf_Signed* /*cie_index*/, - Dwarf_Off* /*fde_offset*/, - Dwarf_Error* /*error*/); - -/* Useful for IRIX only: see dwarf_get_cie_augmentation_data() - dwarf_get_fde_augmentation_data() for GNU .eh_frame. */ -int dwarf_get_fde_exception_info(Dwarf_Fde /*fde*/, - Dwarf_Signed* /* offset_into_exception_tables */, - Dwarf_Error* /*error*/); - - -int dwarf_get_cie_of_fde(Dwarf_Fde /*fde*/, - Dwarf_Cie * /*cie_returned*/, - Dwarf_Error* /*error*/); - -int dwarf_get_cie_info(Dwarf_Cie /*cie*/, - Dwarf_Unsigned * /*bytes_in_cie*/, - Dwarf_Small* /*version*/, - char ** /*augmenter*/, - Dwarf_Unsigned* /*code_alignment_factor*/, - Dwarf_Signed* /*data_alignment_factor*/, - Dwarf_Half* /*return_address_register_rule*/, - Dwarf_Ptr* /*initial_instructions*/, - Dwarf_Unsigned* /*initial_instructions_length*/, - Dwarf_Error* /*error*/); - -/* dwarf_get_cie_index new September 2009. */ -int dwarf_get_cie_index( - Dwarf_Cie /*cie*/, - Dwarf_Signed* /*index*/, - Dwarf_Error* /*error*/ ); - - -int dwarf_get_fde_instr_bytes(Dwarf_Fde /*fde*/, - Dwarf_Ptr * /*outinstrs*/, Dwarf_Unsigned * /*outlen*/, - Dwarf_Error * /*error*/); - -int dwarf_get_fde_info_for_all_regs(Dwarf_Fde /*fde*/, - Dwarf_Addr /*pc_requested*/, - Dwarf_Regtable* /*reg_table*/, - Dwarf_Addr* /*row_pc*/, - Dwarf_Error* /*error*/); - -int dwarf_get_fde_info_for_all_regs3(Dwarf_Fde /*fde*/, - Dwarf_Addr /*pc_requested*/, - Dwarf_Regtable3* /*reg_table*/, - Dwarf_Addr* /*row_pc*/, - Dwarf_Error* /*error*/); - -/* In this older interface DW_FRAME_CFA_COL is a meaningful - column (which does not work well with DWARF3 or - non-MIPS architectures). */ -int dwarf_get_fde_info_for_reg(Dwarf_Fde /*fde*/, - Dwarf_Half /*table_column*/, - Dwarf_Addr /*pc_requested*/, - Dwarf_Signed* /*offset_relevant*/, - Dwarf_Signed* /*register*/, - Dwarf_Signed* /*offset*/, - Dwarf_Addr* /*row_pc*/, - Dwarf_Error* /*error*/); - -/* See discussion of dw_value_type, libdwarf.h. - Use of DW_FRAME_CFA_COL is not meaningful in this interface. - See dwarf_get_fde_info_for_cfa_reg3(). -*/ -/* dwarf_get_fde_info_for_reg3 is useful on a single column, but - it is inefficient to iterate across all table_columns using this - function. Instead call dwarf_get_fde_info_for_all_regs3() and index - into the table it fills in. */ -int dwarf_get_fde_info_for_reg3(Dwarf_Fde /*fde*/, - Dwarf_Half /*table_column*/, - Dwarf_Addr /*pc_requested*/, - Dwarf_Small * /*value_type*/, - Dwarf_Signed * /*offset_relevant*/, - Dwarf_Signed* /*register*/, - Dwarf_Signed* /*offset_or_block_len*/, - Dwarf_Ptr * /*block_ptr */, - Dwarf_Addr* /*row_pc_out*/, - Dwarf_Error* /*error*/); - -/* Use this to get the cfa. */ -int dwarf_get_fde_info_for_cfa_reg3(Dwarf_Fde /*fde*/, - Dwarf_Addr /*pc_requested*/, - Dwarf_Small * /*value_type*/, - Dwarf_Signed * /*offset_relevant*/, - Dwarf_Signed* /*register*/, - Dwarf_Signed* /*offset_or_block_len*/, - Dwarf_Ptr * /*block_ptr */, - Dwarf_Addr* /*row_pc_out*/, - Dwarf_Error* /*error*/); - -int dwarf_get_fde_for_die(Dwarf_Debug /*dbg*/, - Dwarf_Die /*subr_die */, - Dwarf_Fde * /*returned_fde*/, - Dwarf_Error* /*error*/); - -int dwarf_get_fde_n(Dwarf_Fde* /*fde_data*/, - Dwarf_Unsigned /*fde_index*/, - Dwarf_Fde * /*returned_fde*/, - Dwarf_Error* /*error*/); - -int dwarf_get_fde_at_pc(Dwarf_Fde* /*fde_data*/, - Dwarf_Addr /*pc_of_interest*/, - Dwarf_Fde * /*returned_fde*/, - Dwarf_Addr* /*lopc*/, - Dwarf_Addr* /*hipc*/, - Dwarf_Error* /*error*/); - -/* GNU .eh_frame augmentation information, raw form, see - Linux Standard Base Core Specification version 3.0 . */ -int dwarf_get_cie_augmentation_data(Dwarf_Cie /* cie*/, - Dwarf_Small ** /* augdata */, - Dwarf_Unsigned * /* augdata_len */, - Dwarf_Error* /*error*/); -/* GNU .eh_frame augmentation information, raw form, see - Linux Standard Base Core Specification version 3.0 . */ -int dwarf_get_fde_augmentation_data(Dwarf_Fde /* fde*/, - Dwarf_Small ** /* augdata */, - Dwarf_Unsigned * /* augdata_len */, - Dwarf_Error* /*error*/); - -int dwarf_expand_frame_instructions(Dwarf_Cie /*cie*/, - Dwarf_Ptr /*instruction*/, - Dwarf_Unsigned /*i_length*/, - Dwarf_Frame_Op** /*returned_op_list*/, - Dwarf_Signed* /*op_count*/, - Dwarf_Error* /*error*/); - -/* Operations on .debug_aranges. */ -int dwarf_get_aranges(Dwarf_Debug /*dbg*/, - Dwarf_Arange** /*aranges*/, - Dwarf_Signed * /*arange_count*/, - Dwarf_Error* /*error*/); - - - -int dwarf_get_arange( - Dwarf_Arange* /*aranges*/, - Dwarf_Unsigned /*arange_count*/, - Dwarf_Addr /*address*/, - Dwarf_Arange * /*returned_arange*/, - Dwarf_Error* /*error*/); - -int dwarf_get_cu_die_offset( - Dwarf_Arange /*arange*/, - Dwarf_Off* /*return_offset*/, - Dwarf_Error* /*error*/); - -int dwarf_get_arange_cu_header_offset( - Dwarf_Arange /*arange*/, - Dwarf_Off* /*return_cu_header_offset*/, - Dwarf_Error* /*error*/); -#ifdef __sgi /* pragma is sgi MIPS only */ -#pragma optional dwarf_get_arange_cu_header_offset -#endif - -/* DWARF2,3 interface. No longer really adequate (it was never - right for segmented address spaces, please switch - to using dwarf_get_arange_info_b instead. - There is no effective difference between these - functions if the address space - of the target is not segmented. */ -int dwarf_get_arange_info( - Dwarf_Arange /*arange*/, - Dwarf_Addr* /*start*/, - Dwarf_Unsigned* /*length*/, - Dwarf_Off* /*cu_die_offset*/, - Dwarf_Error* /*error*/ ); - -/* New for DWARF4, entries may have segment information. - *segment is only meaningful if *segment_entry_size is non-zero. */ -int dwarf_get_arange_info_b( - Dwarf_Arange /*arange*/, - Dwarf_Unsigned* /*segment*/, - Dwarf_Unsigned* /*segment_entry_size*/, - Dwarf_Addr * /*start*/, - Dwarf_Unsigned* /*length*/, - Dwarf_Off * /*cu_die_offset*/, - Dwarf_Error * /*error*/ ); - - -/* consumer .debug_macinfo information interface. -*/ -struct Dwarf_Macro_Details_s { - Dwarf_Off dmd_offset; /* offset, in the section, - of this macro info */ - Dwarf_Small dmd_type; /* the type, DW_MACINFO_define etc*/ - Dwarf_Signed dmd_lineno; /* the source line number where - applicable and vend_def number if - vendor_extension op */ - - Dwarf_Signed dmd_fileindex;/* the source file index: - applies to define undef start_file */ - char * dmd_macro; /* macro name (with value for defineop) - string from vendor ext */ -}; - -/* dwarf_print_lines is for use by dwarfdump: it prints - line info to stdout. - The _dwarf name is obsolete. Use dwarf_ instead. - Added extra argnument 2/2009 for better checking. -*/ -int _dwarf_print_lines(Dwarf_Die /*cu_die*/,Dwarf_Error * /*error*/); -int dwarf_print_lines(Dwarf_Die /*cu_die*/,Dwarf_Error * /*error*/, - int * /*error_count_out */); - -/* As of August 2013, dwarf_print_lines() no longer uses printf. - Instead it calls back to the application using a function pointer - once per line-to-print. The lines passed back already have any needed - newlines. The following struct is used to initialize - the callback mechanism. - - Failing to call the dwarf_register_printf_callback() function will - prevent the lines from being passed back but such omission - is not an error. - See libdwarf2.1.mm for further documentation. - - The return value is the previous set of callback values. -*/ - -typedef void (* dwarf_printf_callback_function_type)(void * /*user_pointer*/, - const char * /*linecontent*/); - -struct Dwarf_Printf_Callback_Info_s { - void * dp_user_pointer; - dwarf_printf_callback_function_type dp_fptr; - char * dp_buffer; - unsigned int dp_buffer_len; - int dp_buffer_user_provided; - void * dp_reserved; -}; - -/* If called with a NULL newvalues pointer, it simply returns - the current set of values for this Dwarf_Debug. */ -struct Dwarf_Printf_Callback_Info_s -dwarf_register_printf_callback(Dwarf_Debug /*dbg*/, - struct Dwarf_Printf_Callback_Info_s * /*newvalues*/); - - -/* dwarf_check_lineheader lets dwarfdump get detailed messages - about some compiler errors we detect. - We return the count of detected errors through the - pointer. -*/ -void dwarf_check_lineheader(Dwarf_Die /*cu_die*/,int *errcount_out); - -/* dwarf_ld_sort_lines helps SGI IRIX ld - rearrange lines in .debug_line in a .o created with a text - section per function. - -OPT:procedure_reorder=ON - where ld-cord (cord(1)ing by ld, - not by cord(1)) may have changed the function order. - The _dwarf name is obsolete. Use dwarf_ instead. -*/ -int _dwarf_ld_sort_lines( - void * /*orig_buffer*/, - unsigned long /* buffer_len*/, - int /*is_64_bit*/, - int * /*any_change*/, - int * /*err_code*/); -int dwarf_ld_sort_lines( - void * /*orig_buffer*/, - unsigned long /*buffer_len*/, - int /*is_64_bit*/, - int * /*any_change*/, - int * /*err_code*/); - -/* Used by dwarfdump -v to print fde offsets from debugging - info. - The _dwarf name is obsolete. Use dwarf_ instead. -*/ -int _dwarf_fde_section_offset(Dwarf_Debug dbg, - Dwarf_Fde /*in_fde*/, - Dwarf_Off * /*fde_off*/, - Dwarf_Off * /*cie_off*/, - Dwarf_Error * /*err*/); -int dwarf_fde_section_offset(Dwarf_Debug dbg, - Dwarf_Fde /*in_fde*/, - Dwarf_Off * /*fde_off*/, - Dwarf_Off * /*cie_off*/, - Dwarf_Error * /*err*/); - -/* Used by dwarfdump -v to print cie offsets from debugging - info. - The _dwarf name is obsolete. Use dwarf_ instead. -*/ -int dwarf_cie_section_offset(Dwarf_Debug /*dbg*/, - Dwarf_Cie /*in_cie*/, - Dwarf_Off * /*cie_off */, - Dwarf_Error * /*err*/); -int _dwarf_cie_section_offset(Dwarf_Debug /*dbg*/, - Dwarf_Cie /*in_cie*/, - Dwarf_Off * /*cie_off*/, - Dwarf_Error * /*err*/); - -typedef struct Dwarf_Macro_Details_s Dwarf_Macro_Details; - -int dwarf_get_macro(Dwarf_Debug /*dbg*/, - char * /*requested_macro_name*/, - Dwarf_Addr /*pc_of_request*/, - char ** /*returned_macro_value*/, - Dwarf_Error * /*error*/); - -int dwarf_get_all_defined_macros(Dwarf_Debug /*dbg*/, - Dwarf_Addr /*pc_of_request*/, - Dwarf_Signed * /*returned_count*/, - char *** /*returned_pointers_to_macros*/, - Dwarf_Error * /*error*/); - -char *dwarf_find_macro_value_start(char * /*macro_string*/); - -int dwarf_get_macro_details(Dwarf_Debug /*dbg*/, - Dwarf_Off /*macro_offset*/, - Dwarf_Unsigned /*maximum_count*/, - Dwarf_Signed * /*entry_count*/, - Dwarf_Macro_Details ** /*details*/, - Dwarf_Error * /*err*/); - - -int dwarf_get_address_size(Dwarf_Debug /*dbg*/, - Dwarf_Half * /*addr_size*/, - Dwarf_Error * /*error*/); -int dwarf_get_die_address_size(Dwarf_Die /*die*/, - Dwarf_Half * /*addr_size*/, - Dwarf_Error * /*error*/); - -enum Dwarf_Form_Class dwarf_get_form_class( - Dwarf_Half /* dwversion */, - Dwarf_Half /* attrnum */, - Dwarf_Half /*offset_size */, - Dwarf_Half /*form*/); - - -/* BEGIN gdbindex operations interfaces. */ -/* .gdb_index section operations. - A GDB extension. - The section is in some executables and if present - is used to quickly map an address or name to - a skeleton CU or TU. If present then there are - .dwo or .dwp files somewhere to make detailed - debugging possible (up to user code to - find it/them and deal with them). - - Version 8 built by gdb, so type entries are ok as is. - Version 7 built by the 'gold' linker and type index - entries for a CU must be derived othewise, the - type index is not correct... ? FIXME - */ - -/* Creates a Dwarf_Gdbindex, returning it and - its values through the pointers. */ -int dwarf_gdbindex_header(Dwarf_Debug /*dbg*/, - Dwarf_Gdbindex * /*gdbindexptr*/, - Dwarf_Unsigned * /*version*/, - Dwarf_Unsigned * /*cu_list_offset*/, - Dwarf_Unsigned * /*types_cu_list_offset*/, - Dwarf_Unsigned * /*address_area_offset*/, - Dwarf_Unsigned * /*symbol_table_offset*/, - Dwarf_Unsigned * /*constant_pool_offset*/, - Dwarf_Unsigned * /*section_size*/, - Dwarf_Unsigned * /*unused_reserved*/, - const char ** /*section_name*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_culist_array(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned * /*list_length*/, - Dwarf_Error * /*error*/); - -/* entryindex: 0 to list_length-1 */ -int dwarf_gdbindex_culist_entry(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned /*entryindex*/, - Dwarf_Unsigned * /*cu_offset*/, - Dwarf_Unsigned * /*cu_length*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_types_culist_array(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned * /*types_list_length*/, - Dwarf_Error * /*error*/); - -/* entryindex: 0 to types_list_length -1 */ -int dwarf_gdbindex_types_culist_entry( - Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned /*entryindex*/, - Dwarf_Unsigned * /*cu_offset*/, - Dwarf_Unsigned * /*tu_offset*/, - Dwarf_Unsigned * /*type_signature*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_addressarea(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned * /*addressarea_list_length*/, - Dwarf_Error * /*error*/); - -/* entryindex: 0 to addressarea_list_length-1 */ -int dwarf_gdbindex_addressarea_entry( - Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned /*entryindex*/, - Dwarf_Unsigned * /*low_adddress*/, - Dwarf_Unsigned * /*high_address*/, - Dwarf_Unsigned * /*cu_index*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_symboltable_array(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned * /*symtab_list_length*/, - Dwarf_Error * /*error*/); - -/* entryindex: 0 to symtab_list_length-1 */ -int dwarf_gdbindex_symboltable_entry( - Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned /*entryindex*/, - Dwarf_Unsigned * /*string_offset*/, - Dwarf_Unsigned * /*cu_vector_offset*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_cuvector_length(Dwarf_Gdbindex /*gdbindex*/, - Dwarf_Unsigned /*cuvector_offset*/, - Dwarf_Unsigned * /*innercount*/, - Dwarf_Error * /*error*/); - - -int dwarf_gdbindex_cuvector_inner_attributes(Dwarf_Gdbindex /*gdbindex*/, - Dwarf_Unsigned /*cuvector_offset*/, - Dwarf_Unsigned /*innerindex*/, - /* The attr_value is a field of bits. For expanded version - use dwarf_gdbindex_cuvector_expand_value() */ - Dwarf_Unsigned * /*attr_value*/, - Dwarf_Error * /*error*/); - -int dwarf_gdbindex_cuvector_instance_expand_value(Dwarf_Gdbindex /*gdbindex*/, - Dwarf_Unsigned /*value*/, - Dwarf_Unsigned * /*cu_index*/, - Dwarf_Unsigned * /*reserved1*/, - Dwarf_Unsigned * /*symbol_kind*/, - Dwarf_Unsigned * /*is_static*/, - Dwarf_Error * /*error*/); - - -/* The strings in the pool follow (in memory) the cu index - set and are NUL terminated. */ - -int dwarf_gdbindex_string_by_offset(Dwarf_Gdbindex /*gdbindexptr*/, - Dwarf_Unsigned /*stringoffset*/, - const char ** /*string_ptr*/, - Dwarf_Error * /*error*/); - -void dwarf_gdbindex_free(Dwarf_Gdbindex /*gdbindexptr*/); - -/* END gdbindex/debugfission operations. */ - -/* START debugfission dwp .debug_cu_index and .debug_tu_index operations. */ - -int dwarf_get_xu_index_header(Dwarf_Debug /*dbg*/, - const char * section_type, /* "tu" or "cu" */ - Dwarf_Xu_Index_Header * /*xuhdr*/, - Dwarf_Unsigned * /*version_number*/, - Dwarf_Unsigned * /*offsets_count L*/, - Dwarf_Unsigned * /*units_count N*/, - Dwarf_Unsigned * /*hash_slots_count M*/, - const char ** /*sect_name*/, - Dwarf_Error * /*err*/); - -int dwarf_get_xu_index_section_type(Dwarf_Xu_Index_Header /*xuhdr*/, - /* the function returns a pointer to - the immutable string "tu" or "cu" via this arg. Do not free. */ - const char ** /*typename*/, - /* the function returns a pointer to - the immutable section name. Do not free. - .debug_cu_index or .debug_tu_index */ - const char ** /*sectionname*/, - Dwarf_Error * /*err*/); - -/* Index values 0 to M-1 are valid. */ -int dwarf_get_xu_hash_entry(Dwarf_Xu_Index_Header /*xuhdr*/, - Dwarf_Unsigned /*index*/, - - /* Returns the hash value. 64 bits. */ - Dwarf_Sig8 * /*hash_value*/, - - /* returns the index into rows of offset/size tables. */ - Dwarf_Unsigned * /*index_to_sections*/, - Dwarf_Error * /*err*/); - -/* Columns 0 to L-1, valid. */ -int dwarf_get_xu_section_names(Dwarf_Xu_Index_Header /*xuhdr*/, - /* Row index defined to be row zero. */ - Dwarf_Unsigned /*column_index*/, - Dwarf_Unsigned* /*DW_SECT_ number*/, - const char ** /*DW_SECT_ name*/, - Dwarf_Error * /*err*/); - - /* Rows 1 to N col 0 to L-1 are valid */ -int dwarf_get_xu_section_offset(Dwarf_Xu_Index_Header /*xuhdr*/, - Dwarf_Unsigned /*row_index*/, - Dwarf_Unsigned /*column_index*/, - Dwarf_Unsigned* /*sec_offset*/, - Dwarf_Unsigned* /*sec_size*/, - Dwarf_Error * /*err*/); - -void dwarf_xu_header_free(Dwarf_Xu_Index_Header /*xuhdr*/); - -#define DW_FISSION_SECT_COUNT 9 -/* User must allocate this struct and pass a pointer to it - into dwarf_get_debugfission_for_cu . */ -struct Dwarf_Debug_Fission_Per_CU_s { - /* Do not free the string. It contains "cu" or "tu". */ - const char * pcu_type; - Dwarf_Unsigned pcu_index; - Dwarf_Sig8 pcu_hash; /* 8 byte */ - /* [0] has offset and size 0. - [1]-[8] are DW_SECT_* indexes and the - values below are the offset and size - of the respective section contribution - of a single .dwo object. When pcu_sizes[n] is - zero the corresponding section is not present. */ - Dwarf_Unsigned pcu_offset[DW_FISSION_SECT_COUNT]; - Dwarf_Unsigned pcu_size[DW_FISSION_SECT_COUNT]; -}; -typedef struct Dwarf_Debug_Fission_Per_CU_s Dwarf_Debug_Fission_Per_CU ; -/* For any Dwarf_Die in a compilation unit, return - the debug fission table data through - percu_out. Usually applications - will pass in the CU die. - Calling code should zero all of the - struct Dwarf_Debug_Fission_Per_CU_s before calling this. - If there is no debugfission data this returns - DW_DLV_NO_ENTRY (only .dwp objects have debugfission data). */ -int dwarf_get_debugfission_for_die(Dwarf_Die /* die */, - Dwarf_Debug_Fission_Per_CU * /* percu_out */, - Dwarf_Error * /* err */); - -/* Given a key from a .o, find the per-cu information - for the CU with that key. */ -int dwarf_get_debugfission_for_key(Dwarf_Unsigned /* key */, - Dwarf_Debug_Fission_Per_CU * /* percu_out */, - Dwarf_Error * /* err */); - -/* END debugfission dwp .debug_cu_index and .debug_tu_index operations. */ - - -/* Utility operations */ -Dwarf_Unsigned dwarf_errno(Dwarf_Error /*error*/); - -char* dwarf_errmsg(Dwarf_Error /*error*/); - -/* stringcheck zero is default and means do all - string length validity checks. - Call with parameter value 1 to turn off many such checks (and - increase performance). - Call with zero for safest running. - Actual value saved and returned is only 8 bits! Upper bits - ignored by libdwarf (and zero on return). - Returns previous value. */ -int dwarf_set_stringcheck(int /*stringcheck*/); - -/* 'apply' defaults to 1 and means do all - 'rela' relocations on reading in a dwarf object section with - such relocations. - Call with parameter value 0 to turn off application of - such relocations. - Since the static linker leaves 'bogus' data in object sections - with a 'rela' relocation section such data cannot be read - sensibly without processing the relocations. Such relocations - do not exist in executables and shared objects (.so), the - relocations only exist in plain .o relocatable object files. - Actual value saved and returned is only 8 bits! Upper bits - ignored by libdwarf (and zero on return). - Returns previous value. */ -int dwarf_set_reloc_application(int /*apply*/); - - -/* Unimplemented */ -Dwarf_Handler dwarf_seterrhand(Dwarf_Debug /*dbg*/, Dwarf_Handler /*errhand*/); - -/* Unimplemented */ -Dwarf_Ptr dwarf_seterrarg(Dwarf_Debug /*dbg*/, Dwarf_Ptr /*errarg*/); - -void dwarf_dealloc(Dwarf_Debug /*dbg*/, void* /*space*/, - Dwarf_Unsigned /*type*/); - - -/* DWARF Producer Interface */ - -/* New form June, 2011. Adds user_data argument. */ -typedef int (*Dwarf_Callback_Func)( - const char* /*name*/, - int /*size*/, - Dwarf_Unsigned /*type*/, - Dwarf_Unsigned /*flags*/, - Dwarf_Unsigned /*link*/, - Dwarf_Unsigned /*info*/, - Dwarf_Unsigned* /*sect_name_index*/, - void * /*user_data*/, - int* /*error*/); - -/* Returns DW_DLV_OK or DW_DLV_ERROR and - if DW_DLV_OK returns the Dwarf_P_Debug - pointer through the dbg_returned argument. */ -int dwarf_producer_init( - Dwarf_Unsigned /*flags*/, - Dwarf_Callback_Func /*func*/, - Dwarf_Handler /*errhand*/, - Dwarf_Ptr /*errarg*/, - void * /*user_data*/, - const char *isa_name, /* See isa/abi names in pro_init.c */ - const char *dwarf_version, /* V2 V3 V4 or V5. */ - const char *extra, /* Extra input strings, comma separated. */ - Dwarf_P_Debug *, /* dbg_returned */ - Dwarf_Error * /*error*/); - -Dwarf_Signed dwarf_transform_to_disk_form(Dwarf_P_Debug /*dbg*/, - Dwarf_Error* /*error*/); - -Dwarf_Ptr dwarf_get_section_bytes(Dwarf_P_Debug /*dbg*/, - Dwarf_Signed /*dwarf_section*/, - Dwarf_Signed* /*elf_section_index*/, - Dwarf_Unsigned* /*length*/, - Dwarf_Error* /*error*/); - -int dwarf_get_relocation_info_count( - Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned * /*count_of_relocation_sections*/, - int * /*drd_buffer_version*/, - Dwarf_Error* /*error*/); - -int dwarf_get_relocation_info( - Dwarf_P_Debug /*dbg*/, - Dwarf_Signed * /*elf_section_index*/, - Dwarf_Signed * /*elf_section_index_link*/, - Dwarf_Unsigned * /*relocation_buffer_count*/, - Dwarf_Relocation_Data * /*reldata_buffer*/, - Dwarf_Error* /*error*/); - -/* v1: no drd_length field, enum explicit */ -/* v2: has the drd_length field, enum value in uchar member */ -#define DWARF_DRD_BUFFER_VERSION 2 - -/* Markers are not written to DWARF2/3/4, they are user - defined and may be used for any purpose. -*/ -Dwarf_Signed dwarf_get_die_markers( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Marker * /*marker_list*/, - Dwarf_Unsigned * /*marker_count*/, - Dwarf_Error * /*error*/); - -int dwarf_get_string_attributes_count(Dwarf_P_Debug, - Dwarf_Unsigned *, - int *, - Dwarf_Error *); - -int dwarf_get_string_attributes_info(Dwarf_P_Debug, - Dwarf_Signed *, - Dwarf_Unsigned *, - Dwarf_P_String_Attr *, - Dwarf_Error *); - -void dwarf_reset_section_bytes(Dwarf_P_Debug /*dbg*/); - -Dwarf_Unsigned dwarf_producer_finish(Dwarf_P_Debug /*dbg*/, - Dwarf_Error* /*error*/); - -/* Producer attribute addition functions. */ -Dwarf_P_Attribute dwarf_add_AT_targ_address(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Unsigned /*pc_value*/, - Dwarf_Signed /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_block(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Small* /*block_data*/, - Dwarf_Unsigned /*block_len*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_targ_address_b(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Unsigned /*pc_value*/, - Dwarf_Unsigned /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_ref_address(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Unsigned /*pc_value*/, - Dwarf_Unsigned /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_unsigned_const(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Unsigned /*value*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_signed_const(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Signed /*value*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_reference(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_P_Die /*otherdie*/, - Dwarf_Error* /*error*/); - -/* dwarf_add_AT_reference_b allows otherdie to be NULL with - the assumption the caller will then later call - dwarf_fixup_AT_reference_die() with a non-null target die. - New 22 October, 2013 -*/ -Dwarf_P_Attribute dwarf_add_AT_reference_b(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_P_Die /*otherdie*/, - Dwarf_Error* /*error*/); - -/* The following is for out-of-order cu-local - references. Allowing nominating the target Dwarf_P_Die - after calling dwarf_add_AT_reference with a NULL otherdie - after a single pass thru the DIE generation. Needed - for forward-references. - New 22 October, 2013. -*/ -int -dwarf_fixup_AT_reference_die(Dwarf_P_Debug /*dbg */, - Dwarf_Half /* attrnum */, - Dwarf_P_Die /* sourcedie*/, - Dwarf_P_Die /* targetdie*/, - Dwarf_Error * /*error*/); - - -Dwarf_P_Attribute dwarf_add_AT_dataref( - Dwarf_P_Debug /* dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Unsigned /*pcvalue*/, - Dwarf_Unsigned /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_const_value_string(Dwarf_P_Die /*ownerdie*/, - char* /*string_value*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_location_expr(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_P_Expr /*loc_expr*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_string(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - char* /*string*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_flag(Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attr*/, - Dwarf_Small /*flag*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_producer(Dwarf_P_Die /*ownerdie*/, - char* /*producer_string*/, - Dwarf_Error* /*error*/); - -/* August 2013 sleb creator. For any attribute. */ -Dwarf_P_Attribute dwarf_add_AT_any_value_sleb(Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attrnum*/, - Dwarf_Signed /*signed_value*/, - Dwarf_Error * /*error*/); - -/* Original sleb creator. Only for DW_AT_const_value. */ -Dwarf_P_Attribute dwarf_add_AT_const_value_signedint(Dwarf_P_Die /*ownerdie*/, - Dwarf_Signed /*signed_value*/, - Dwarf_Error* /*error*/); - -/* August 2013 uleb creator. For any attribute. */ -Dwarf_P_Attribute dwarf_add_AT_any_value_uleb(Dwarf_P_Die /*ownerdie*/, - Dwarf_Half /*attrnum*/, - Dwarf_Unsigned /*signed_value*/, - Dwarf_Error * /*error*/); - -/* Original uleb creator. Only for DW_AT_const_value. */ -Dwarf_P_Attribute dwarf_add_AT_const_value_unsignedint( - Dwarf_P_Die /*ownerdie*/, - Dwarf_Unsigned /*unsigned_value*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_comp_dir(Dwarf_P_Die /*ownerdie*/, - char* /*current_working_directory*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute dwarf_add_AT_name(Dwarf_P_Die /*die*/, - char* /*name*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Attribute -dwarf_add_AT_with_ref_sig8( - Dwarf_P_Die /*ownerdie */, - Dwarf_Half /*attrnum */, - const Dwarf_Sig8 * /*sig8_in*/, - Dwarf_Error * /*error*/); - - -/* Producer line creation functions (.debug_line) */ -Dwarf_Unsigned dwarf_add_directory_decl(Dwarf_P_Debug /*dbg*/, - char* /*name*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_file_decl(Dwarf_P_Debug /*dbg*/, - char* /*name*/, - Dwarf_Unsigned /*dir_index*/, - Dwarf_Unsigned /*time_last_modified*/, - Dwarf_Unsigned /*length*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_line_entry_b(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*file_index*/, - Dwarf_Addr /*code_address*/, - Dwarf_Unsigned /*lineno*/, - Dwarf_Signed /*column_number*/, - Dwarf_Bool /*is_source_stmt_begin*/, - Dwarf_Bool /*is_basic_block_begin*/, - Dwarf_Bool /*is_epilogue_begin*/, - Dwarf_Bool /*is_prologue_end*/, - Dwarf_Unsigned /*isa*/, - Dwarf_Unsigned /*discriminator*/, - Dwarf_Error* /*error*/); -Dwarf_Unsigned dwarf_add_line_entry(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*file_index*/, - Dwarf_Addr /*code_address*/, - Dwarf_Unsigned /*lineno*/, - Dwarf_Signed /*column_number*/, - Dwarf_Bool /*is_source_stmt_begin*/, - Dwarf_Bool /*is_basic_block_begin*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_lne_set_address(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*offset*/, - Dwarf_Unsigned /*symbol_index*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_lne_end_sequence(Dwarf_P_Debug /*dbg*/, - Dwarf_Addr /*end_address*/, - Dwarf_Error* /*error*/); - -/* Producer .debug_frame functions */ -Dwarf_Unsigned dwarf_add_frame_cie(Dwarf_P_Debug /*dbg*/, - char* /*augmenter*/, - Dwarf_Small /*code_alignment_factor*/, - Dwarf_Small /*data_alignment_factor*/, - Dwarf_Small /*return_address_reg*/, - Dwarf_Ptr /*initialization_bytes*/, - Dwarf_Unsigned /*init_byte_len*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_frame_fde( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Fde /*fde*/, - Dwarf_P_Die /*corresponding subprogram die*/, - Dwarf_Unsigned /*cie_to_use*/, - Dwarf_Unsigned /*virt_addr_of_described_code*/, - Dwarf_Unsigned /*length_of_code*/, - Dwarf_Unsigned /*symbol_index*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_frame_fde_b( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Fde /*fde*/, - Dwarf_P_Die /*die*/, - Dwarf_Unsigned /*cie*/, - Dwarf_Addr /*virt_addr*/, - Dwarf_Unsigned /*code_len*/, - Dwarf_Unsigned /*sym_idx*/, - Dwarf_Unsigned /*sym_idx_of_end*/, - Dwarf_Addr /*offset_from_end_sym*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_frame_info_b( - Dwarf_P_Debug dbg /*dbg*/, - Dwarf_P_Fde /*fde*/, - Dwarf_P_Die /*die*/, - Dwarf_Unsigned /*cie*/, - Dwarf_Addr /*virt_addr*/, - Dwarf_Unsigned /*code_len*/, - Dwarf_Unsigned /*symidx*/, - Dwarf_Unsigned /*end_symbol */, - Dwarf_Addr /*offset_from_end_symbol */, - Dwarf_Signed /*offset_into_exception_tables*/, - Dwarf_Unsigned /*exception_table_symbol*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_frame_info( - Dwarf_P_Debug dbg /*dbg*/, - Dwarf_P_Fde /*fde*/, - Dwarf_P_Die /*die*/, - Dwarf_Unsigned /*cie*/, - Dwarf_Addr /*virt_addr*/, - Dwarf_Unsigned /*code_len*/, - Dwarf_Unsigned /*symidx*/, - Dwarf_Signed /*offset_into_exception_tables*/, - Dwarf_Unsigned /*exception_table_symbol*/, - Dwarf_Error* /*error*/); - -Dwarf_P_Fde dwarf_add_fde_inst( - Dwarf_P_Fde /*fde*/, - Dwarf_Small /*op*/, - Dwarf_Unsigned /*val1*/, - Dwarf_Unsigned /*val2*/, - Dwarf_Error* /*error*/); - -/* New September 17, 2009 */ -int dwarf_insert_fde_inst_bytes( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Fde /*fde*/, - Dwarf_Unsigned /*len*/, - Dwarf_Ptr /*ibytes*/, - Dwarf_Error* /*error*/); - - -Dwarf_P_Fde dwarf_new_fde(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/); - -Dwarf_P_Fde dwarf_fde_cfa_offset( - Dwarf_P_Fde /*fde*/, - Dwarf_Unsigned /*register_number*/, - Dwarf_Signed /*offset*/, - Dwarf_Error* /*error*/); - -/* die creation & addition routines */ -Dwarf_P_Die dwarf_new_die( - Dwarf_P_Debug /*dbg*/, - Dwarf_Tag /*tag*/, - Dwarf_P_Die /*parent*/, - Dwarf_P_Die /*child*/, - Dwarf_P_Die /*left */, - Dwarf_P_Die /*right*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_die_to_debug( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - Dwarf_Error* /*error*/); - -/* Markers are not written to DWARF2/3/4, they are user - defined and may be used for any purpose. -*/ -Dwarf_Unsigned dwarf_add_die_marker( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - Dwarf_Unsigned /*marker*/, - Dwarf_Error * /*error*/); - -Dwarf_Unsigned dwarf_get_die_marker( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - Dwarf_Unsigned * /*marker*/, - Dwarf_Error * /*error*/); - -Dwarf_P_Die dwarf_die_link( - Dwarf_P_Die /*die*/, - Dwarf_P_Die /*parent*/, - Dwarf_P_Die /*child*/, - Dwarf_P_Die /*left*/, - Dwarf_P_Die /*right*/, - Dwarf_Error* /*error*/); - -void dwarf_dealloc_compressed_block( - Dwarf_P_Debug, - void * -); - -/* Call this passing in return value from dwarf_uncompress_integer_block() - to free the space the decompression allocated. */ -void dwarf_dealloc_uncompressed_block( - Dwarf_Debug, - void * -); - -void * dwarf_compress_integer_block( - Dwarf_P_Debug, /* dbg */ - Dwarf_Bool, /* signed==true (or unsigned) */ - Dwarf_Small, /* size of integer units: 8, 16, 32, 64 */ - void*, /* data */ - Dwarf_Unsigned, /* number of elements */ - Dwarf_Unsigned*, /* number of bytes in output block */ - Dwarf_Error* /* error */ -); - -/* Decode an array of signed leb integers (so of course the - array is not composed of fixed length values, but is instead - a sequence of sleb values). - Returns a DW_DLV_BADADDR on error. - Otherwise returns a pointer to an array of 32bit integers. - The signed argument must be non-zero (the decode - assumes sleb integers in the input data) at this time. - Size of integer units must be 32 (32 bits each) at this time. - Number of bytes in block is a byte count (not array count). - Returns number of units in output block (ie, number of elements - of the array that the return value points to) thru the argument. */ -void * dwarf_uncompress_integer_block( - Dwarf_Debug, /* dbg */ - Dwarf_Bool, /* signed==true (or unsigned) */ - Dwarf_Small, /* size of integer units: 8, 16, 32, 64 */ - void*, /* input data */ - Dwarf_Unsigned, /* number of bytes in input */ - Dwarf_Unsigned*, /* number of units in output block */ - Dwarf_Error* /* error */ -); - -/* Operations to create location expressions. */ -Dwarf_P_Expr dwarf_new_expr(Dwarf_P_Debug /*dbg*/, Dwarf_Error* /*error*/); - -void dwarf_expr_reset( - Dwarf_P_Expr /*expr*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_expr_gen( - Dwarf_P_Expr /*expr*/, - Dwarf_Small /*opcode*/, - Dwarf_Unsigned /*val1*/, - Dwarf_Unsigned /*val2*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_expr_addr( - Dwarf_P_Expr /*expr*/, - Dwarf_Unsigned /*addr*/, - Dwarf_Signed /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_expr_addr_b( - Dwarf_P_Expr /*expr*/, - Dwarf_Unsigned /*addr*/, - Dwarf_Unsigned /*sym_index*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_expr_current_offset( - Dwarf_P_Expr /*expr*/, - Dwarf_Error* /*error*/); - -Dwarf_Addr dwarf_expr_into_block( - Dwarf_P_Expr /*expr*/, - Dwarf_Unsigned* /*length*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_arange(Dwarf_P_Debug /*dbg*/, - Dwarf_Addr /*begin_address*/, - Dwarf_Unsigned /*length*/, - Dwarf_Signed /*symbol_index*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_arange_b( - Dwarf_P_Debug /*dbg*/, - Dwarf_Addr /*begin_address*/, - Dwarf_Unsigned /*length*/, - Dwarf_Unsigned /*symbol_index*/, - Dwarf_Unsigned /*end_symbol_index*/, - Dwarf_Addr /*offset_from_end_symbol*/, - Dwarf_Error * /*error*/); - -Dwarf_Unsigned dwarf_add_pubname( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*pubname_name*/, - Dwarf_Error* /*error*/); - -/* Added 17 October 2013. Introduced in DWARF3. */ -Dwarf_Unsigned dwarf_add_pubtype( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*pubtype_name*/, - Dwarf_Error* /*error*/); - - -Dwarf_Unsigned dwarf_add_funcname( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*func_name*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_typename( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*type_name*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_varname( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*var_name*/, - Dwarf_Error* /*error*/); - -Dwarf_Unsigned dwarf_add_weakname( - Dwarf_P_Debug /*dbg*/, - Dwarf_P_Die /*die*/, - char* /*weak_name*/, - Dwarf_Error* /*error*/); - -/* .debug_macinfo producer functions - Functions must be called in right order: the section is output - In the order these are presented. -*/ -int dwarf_def_macro(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*line*/, - char * /*macname, with (arglist), no space before (*/, - char * /*macvalue*/, - Dwarf_Error* /*error*/); - -int dwarf_undef_macro(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*line*/, - char * /*macname, no arglist, of course*/, - Dwarf_Error* /*error*/); - -int dwarf_start_macro_file(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*fileindex*/, - Dwarf_Unsigned /*linenumber*/, - Dwarf_Error* /*error*/); - -int dwarf_end_macro_file(Dwarf_P_Debug /*dbg*/, - Dwarf_Error* /*error*/); - -int dwarf_vendor_ext(Dwarf_P_Debug /*dbg*/, - Dwarf_Unsigned /*constant*/, - char * /*string*/, - Dwarf_Error* /*error*/); - -/* end macinfo producer functions */ - -int dwarf_attr_offset(Dwarf_Die /*die*/, - Dwarf_Attribute /*attr of above die*/, - Dwarf_Off * /*returns offset thru this ptr */, - Dwarf_Error * /*error*/); - -/* This is a hack so clients can verify offsets. - Added April 2005 so that debugger can detect broken offsets - (which happened in an IRIX executable larger than 2GB - with MIPSpro 7.3.1.3 toolchain.). -*/ -int -dwarf_get_section_max_offsets(Dwarf_Debug /*dbg*/, - Dwarf_Unsigned * /*debug_info_size*/, - Dwarf_Unsigned * /*debug_abbrev_size*/, - Dwarf_Unsigned * /*debug_line_size*/, - Dwarf_Unsigned * /*debug_loc_size*/, - Dwarf_Unsigned * /*debug_aranges_size*/, - Dwarf_Unsigned * /*debug_macinfo_size*/, - Dwarf_Unsigned * /*debug_pubnames_size*/, - Dwarf_Unsigned * /*debug_str_size*/, - Dwarf_Unsigned * /*debug_frame_size*/, - Dwarf_Unsigned * /*debug_ranges_size*/, - Dwarf_Unsigned * /*debug_pubtypes_size*/); - -/* New October 2011., adds .debug_types section to the sizes - returned. */ -int -dwarf_get_section_max_offsets_b(Dwarf_Debug /*dbg*/, - - Dwarf_Unsigned * /*debug_info_size*/, - Dwarf_Unsigned * /*debug_abbrev_size*/, - Dwarf_Unsigned * /*debug_line_size*/, - Dwarf_Unsigned * /*debug_loc_size*/, - Dwarf_Unsigned * /*debug_aranges_size*/, - Dwarf_Unsigned * /*debug_macinfo_size*/, - Dwarf_Unsigned * /*debug_pubnames_size*/, - Dwarf_Unsigned * /*debug_str_size*/, - Dwarf_Unsigned * /*debug_frame_size*/, - Dwarf_Unsigned * /*debug_ranges_size*/, - Dwarf_Unsigned * /*debug_pubtypes_size*/, - Dwarf_Unsigned * /*debug_types_size*/); - -/* The 'set' calls here return the original (before any change - by these set routines) of the respective fields. */ -/* Multiple releases spelled 'initial' as 'inital' . - The 'inital' spelling should not be used. */ -Dwarf_Half dwarf_set_frame_rule_inital_value(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -/* Additional interface with correct 'initial' spelling. */ -/* It is likely you will want to call the following 6 functions - before accessing any frame information. All are useful - to tailor handling of pseudo-registers needed to turn - frame operation references into simpler forms and to - reflect ABI specific data. Of course altering libdwarf.h - and dwarf.h allow the same capabilities, but such header changes - do not let one change these values at runtime. */ -Dwarf_Half dwarf_set_frame_rule_initial_value(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -Dwarf_Half dwarf_set_frame_rule_table_size(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -Dwarf_Half dwarf_set_frame_cfa_value(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -Dwarf_Half dwarf_set_frame_same_value(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -Dwarf_Half dwarf_set_frame_undefined_value(Dwarf_Debug /*dbg*/, - Dwarf_Half /*value*/); -/* dwarf_set_default_address_size only sets 'value' if value is - greater than zero. */ -Dwarf_Small dwarf_set_default_address_size(Dwarf_Debug /*dbg*/, - Dwarf_Small /* value */); - -/* As of April 27, 2009, this version with no diepointer is - obsolete though supported. Use dwarf_get_ranges_a() instead. */ -int dwarf_get_ranges(Dwarf_Debug /*dbg*/, - Dwarf_Off /*rangesoffset*/, - Dwarf_Ranges ** /*rangesbuf*/, - Dwarf_Signed * /*listlen*/, - Dwarf_Unsigned * /*bytecount*/, - Dwarf_Error * /*error*/); - -/* This adds the address_size argument. New April 27, 2009 */ -int dwarf_get_ranges_a(Dwarf_Debug /*dbg*/, - Dwarf_Off /*rangesoffset*/, - Dwarf_Die /* diepointer */, - Dwarf_Ranges ** /*rangesbuf*/, - Dwarf_Signed * /*listlen*/, - Dwarf_Unsigned * /*bytecount*/, - Dwarf_Error * /*error*/); - -void dwarf_ranges_dealloc(Dwarf_Debug /*dbg*/, - Dwarf_Ranges * /*rangesbuf*/, - Dwarf_Signed /*rangecount*/); - -/* The harmless error list is a circular buffer of - errors we note but which do not stop us from processing - the object. Created so dwarfdump or other tools - can report such inconsequential errors without causing - anything to stop early. */ -#define DW_HARMLESS_ERROR_CIRCULAR_LIST_DEFAULT_SIZE 4 -#define DW_HARMLESS_ERROR_MSG_STRING_SIZE 200 -/* User code supplies size of array of pointers errmsg_ptrs_array - in count and the array of pointers (the pointers themselves - need not be initialized). - The pointers returned in the array of pointers - are invalidated by ANY call to libdwarf. - Use them before making another libdwarf call! - The array of string pointers passed in always has - a final null pointer, so if there are N pointers the - and M actual strings, then MIN(M,N-1) pointers are - set to point to error strings. The array of pointers - to strings always terminates with a NULL pointer. - If 'count' is passed in zero then errmsg_ptrs_array - is not touched. - - The function returns DW_DLV_NO_ENTRY if no harmless errors - were noted so far. Returns DW_DLV_OK if there are errors. - Never returns DW_DLV_ERROR. - - Each call empties the error list (discarding all current entries). - If newerr_count is non-NULL the count of harmless errors - since the last call is returned through the pointer - (some may have been discarded or not returned, it is a circular - list...). - If DW_DLV_NO_ENTRY is returned none of the arguments - here are touched or used. - */ -int dwarf_get_harmless_error_list(Dwarf_Debug /*dbg*/, - unsigned /*count*/, - const char ** /*errmsg_ptrs_array*/, - unsigned * /*newerr_count*/); - -/* Insertion is only for testing the harmless error code, it is not - necessarily useful otherwise. */ -void dwarf_insert_harmless_error(Dwarf_Debug /*dbg*/, - char * /*newerror*/); - -/* The size of the circular list of strings may be set - and reset as needed. If it is shortened excess - messages are simply dropped. It returns the previous - size. If zero passed in the size is unchanged - and it simply returns the current size */ -unsigned dwarf_set_harmless_error_list_size(Dwarf_Debug /*dbg*/, - unsigned /*maxcount*/); -/* The harmless error strings (if any) are freed when the dbg - is dwarf_finish()ed. */ - -/* When the val_in is known these dwarf_get_TAG_name (etc) - functions return the string corresponding to the val_in passed in - through the pointer s_out and the value returned is DW_DLV_OK. - The strings are in static storage - and must not be freed. - If DW_DLV_NO_ENTRY is returned the val_in is not known and - *s_out is not set. DW_DLV_ERROR is never returned.*/ - -/* The following copied from a generated dwarf_names.h */ - -/* BEGIN FILE */ - -extern int dwarf_get_TAG_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_children_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_FORM_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_AT_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_OP_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ATE_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_DS_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_END_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ATCF_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ACCESS_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_VIS_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_VIRTUALITY_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_LANG_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ID_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_CC_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_INL_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ORD_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_DSC_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_LNS_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_LNE_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ISA_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_MACINFO_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_CFA_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_EH_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_FRAME_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_CHILDREN_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_ADDR_name(unsigned int /*val_in*/, const char ** /*s_out */); -extern int dwarf_get_SECT_name (unsigned int /*val_in*/,const char ** /*s_out*/); -extern int dwarf_get_MACRO_name (unsigned int /*val_in*/,const char ** /*s_out*/); - -/* END FILE */ - -/* Convert local offset into global offset */ -int dwarf_convert_to_global_offset(Dwarf_Attribute /*attr*/, - Dwarf_Off /*offset*/, - Dwarf_Off* /*ret_offset*/, - Dwarf_Error* /*error*/); - -/* Get both offsets (local and global) */ -int dwarf_die_offsets(Dwarf_Die /*die*/, - Dwarf_Off* /*global_offset*/, - Dwarf_Off* /*local_offset*/, - Dwarf_Error* /*error*/); - -/* Giving a section name, get its size and address */ -int dwarf_get_section_info_by_name(Dwarf_Debug /*dbg*/, - const char * /*section_name*/, - Dwarf_Addr* /*section_addr*/, - Dwarf_Unsigned* /*section_size*/, - Dwarf_Error* /*error*/); - -/* Giving a section index, get its size and address */ -int dwarf_get_section_info_by_index(Dwarf_Debug /*dbg*/, - int /*section_index*/, - const char ** /*section_name*/, - Dwarf_Addr* /*section_addr*/, - Dwarf_Unsigned* /*section_size*/, - Dwarf_Error* /*error*/); - -/* Get section count, of object file sections. */ -int dwarf_get_section_count(Dwarf_Debug /*dbg*/); - -/* Get the version and offset size of a CU context. - This is useful as a precursor to - calling dwarf_get_form_class() at times. */ -int dwarf_get_version_of_die(Dwarf_Die /*die*/, - Dwarf_Half * /*version*/, - Dwarf_Half * /*offset_size*/); - -/* These make the LEB encoding routines visible to libdwarf - callers. Added November, 2012. */ -int dwarf_encode_leb128(Dwarf_Unsigned /*val*/, - int * /*nbytes*/, - char * /*space*/, - int /*splen*/); -int dwarf_encode_signed_leb128(Dwarf_Signed /*val*/, - int * /*nbytes*/, - char * /*space*/, - int /*splen*/); - -/* Record some application command line options in libdwarf. - This is not arc/argv processing, just precooked setting - of a flag in libdwarf based on something the application - wants. check_verbose_mode of TRUE means do more checking - and sometimes print errors (from libdwarf). - Not restricted to a single Dwarf_Debug, it applies - to the libdwarf the executable is using. -*/ -typedef struct { - Dwarf_Bool check_verbose_mode; -} Dwarf_Cmdline_Options; -extern Dwarf_Cmdline_Options dwarf_cmdline_options; - -/* Set libdwarf to reflect some application command line options. */ -void dwarf_record_cmdline_options(Dwarf_Cmdline_Options /*options*/); - -#ifdef __cplusplus -} -#endif -#endif /* _LIBDWARF_H */ - - diff --git a/src/madras/libmdbg.c b/src/madras/libmdbg.c index 2bf0364..d352313 100644 --- a/src/madras/libmdbg.c +++ b/src/madras/libmdbg.c @@ -91,17 +91,31 @@ static void dbg_insn_load_dwarf(asmfile_t* asmf, DwarfAPI* dwarf) // Retrieve all debug data from Dwarf dwarf_api_get_all_lines(dwarf, &filename, &addrs, &srcs, &size); - // No debug data, set everything to NULL then exit - if (size == 0) { - FOREACH_INQUEUE(asmfile_get_insns(asmf), it_i) { + DBGLVL(1, FCTNAMEMSG0("Debug data:\n"); + int j; + for (j = 0; j < size; j++) { + fprintf(stderr, "%#"PRIx64": %s:%d\n", addrs[j], filename[j], srcs[j]); + } + ) + + queue_t* insns = asmfile_get_insns(asmf); + + //Skips addresses from the dwarf lower than the address of the first instruction (instructions and dwarf addresses are ordered) + while(i < size && insn_get_addr(queue_peek_head(insns)) > addrs[i]) + i++; + + // No debug data or all debug at addresses lower than the first one, set everything to NULL then exit + if (size == i) { + FOREACH_INQUEUE(insns, it_i) { insn_t* in = GET_DATA_T(insn_t*, it_i); in->debug = NULL; } return; } - FOREACH_INQUEUE(asmfile_get_insns(asmf), it_i) { + FOREACH_INQUEUE(insns, it_i) { insn_t* in = GET_DATA_T(insn_t*, it_i); + if (INSN_GET_ADDR (in) < addrs[i] || INSN_GET_ADDR (in) >= addrs[size - 1]) { // No debug data, so nothing to do diff --git a/src/madras/libmtroll.c b/src/madras/libmtroll.c index b08d09a..0c407ed 100644 --- a/src/madras/libmtroll.c +++ b/src/madras/libmtroll.c @@ -1074,6 +1074,11 @@ static int x86_64_elfreloc_apply(elfreloc_t* relo) { out = ERR_BINARY_RELOCATION_NOT_SUPPORTED; break; case R_X86_64_GOTPCREL: /* 32 bit signed PC relative*/ + /**\todo (2016-09-07) Handle the two following relocation correctly (see latest version of ABI). They are used for + * special relocation handling low or high memory, if I understood correctly, and specify that the instruction must + * be modified depending on the value of the relocated address.*/ + case R_X86_64_GOTPCRELX: /* 32 bit signed PC relative offset to GOT without REX prefix, relaxable*/ + case R_X86_64_REX_GOTPCRELX: /* 32 bit signed PC relative offset to GOT with REX prefix, relaxable*/ //G + GOT + A - P addr32 = (Elf32_Addr*)relodst; *addr32= G+GOT+A-P; @@ -4635,7 +4640,8 @@ static int* insert_addedfiles(elffile_t* efile, elffile_t** addedfiles, int n_ad //elffile_add_targetaddr(efile,gotaddr+idxInGot,symbol->addr,*GElf_Addr_updaddr,bssIdx,i); //The relocation deals with .GOT section? - if (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL) + if (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL + || relocations[i].relotype == R_X86_64_GOTPCRELX || relocations[i].relotype == R_X86_64_REX_GOTPCRELX) { DBGMSG("ADD ONE ELEMENT IN THE GOT: %s\n", symbol->name); //Add in the .GOT section the address in the .BSS section of the variable (GOT[i]=&BSS[topcom]) @@ -4652,7 +4658,8 @@ static int* insert_addedfiles(elffile_t* efile, elffile_t** addedfiles, int n_ad else //The variable has been already put into the .madras.bss section. { //The relocation deals with .GOT section? - if (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL) + if (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL + || relocations[i].relotype == R_X86_64_GOTPCRELX || relocations[i].relotype == R_X86_64_REX_GOTPCRELX) { // TODO : ADD TEST FOR THE RETURN OF HASHTABLE_LOOKUP idxSymbolAddrFound = (uint64_t)hashtable_lookup(variablesInGot,(void*)symbol->name); @@ -4804,7 +4811,8 @@ static int* insert_addedfiles(elffile_t* efile, elffile_t** addedfiles, int n_ad } if (//(relocations[i].reloscn->scnhdr != bssHdr) && - (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL) + (relocations[i].relotype == R_X86_64_GOT32 || relocations[i].relotype == R_X86_64_GOTPCREL + || relocations[i].relotype == R_X86_64_GOTPCRELX || relocations[i].relotype == R_X86_64_REX_GOTPCRELX) ) { int idxToAdd = 0; @@ -4912,6 +4920,8 @@ uint64_t scanGotPcRelocations(int n_addedfiles, elffile_t** addedfiles) entry = addscn->table_entries[k]; if ( ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_GOTPCREL || //THESE RELOCATIONS NEED TO ADD ONE ELEMENT IN THE GOT. ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_GOT32 || + ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_GOTPCRELX || + ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_REX_GOTPCRELX || ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_GOTTPOFF || ELF64_R_TYPE(entry->elfentry.rel->r_info) == R_X86_64_TPOFF32) { @@ -5074,6 +5084,15 @@ static int getMappedSegmentIdx (elffile_t* efile, int sectionIdxToMap,int** mapp **/ static int searchRelaPlt (elffile_t* efile) { + //If the index was found thanks to the dynamic table + if (efile->indexes[JMPREL] > 0) + return efile->indexes[JMPREL]; + /**\todo (2016-09-13) The case above was added because in files compiled with recent versions of gcc + * the .rela.plt secion info field contains the index of the plt.got section, not the .plt, so the algorithm + * below does not work. In dynamic files though, it seems as if the info field is correctly filled. + * Check that this is correct */ + + //Otherwise it's a static file and we have to use the plt if (efile->indexes[PLT] == -1) { STDMSG("SECTION .PLT DOESN'T EXIST!"); @@ -5284,7 +5303,7 @@ int* elfexe_scnreorder (elffile_t* efile,asmfile_t* afile ,int64_t codelen, int6 tableentry_t** madrasRelaPltEntries = NULL; int relaPltIdx = searchRelaPlt(efile); - if(relaPltIdx != -1) + if(relaPltIdx > 0) { originalRelaPltAddr = efile->sections[relaPltIdx]->scnhdr->sh_addr; originalRelaPltSize = efile->sections[relaPltIdx]->scnhdr->sh_size; @@ -5320,7 +5339,12 @@ int* elfexe_scnreorder (elffile_t* efile,asmfile_t* afile ,int64_t codelen, int6 elffile_addGotPltEntries (efile, &newGotPltElement); pltlen = 0x10 * newGotPltElement; //0x10 = ONE ENTRY SIZE IN THE PLT (TODO:ARCH SPECIFIC!! REPLACE!) DBGMSG("orginal RelaPlt size = %#"PRIx64" \n",originalRelaPltSize); - efile->sections[relaPltIdx]->scnhdr->sh_size += sizeof(Elf64_Rela) * newGotPltElement; + if (relaPltIdx > 0) + efile->sections[relaPltIdx]->scnhdr->sh_size += sizeof(Elf64_Rela) * newGotPltElement; + /**\todo (2016-09-14) Adding this test on relaPltIdx to handle dynamic files compiled with a recent version of gcc, + * where the info in rela.plt is not the index of the plt, and searchRelaPlt failed (for a dynamic file, the index of + * JMPREL should have been updated correctly). Check that this does not cause a problem later on and if so, simply return + * an error if we can't find the rela.plt*/ } else { @@ -5838,7 +5862,7 @@ int* elfexe_scnreorder (elffile_t* efile,asmfile_t* afile ,int64_t codelen, int6 //IN TEST int relaPltEntriesNb = 0; tableentry_t** relaPltEntries = NULL; - if (relaPltIdx != -1) + if (relaPltIdx > 0) { relaPltEntries = efile->sections[relaPltIdx]->table_entries; relaPltEntriesNb = efile->sections[relaPltIdx]->nentries; @@ -5858,13 +5882,16 @@ int* elfexe_scnreorder (elffile_t* efile,asmfile_t* afile ,int64_t codelen, int6 newRelaPltEntries[i] = madrasRelaPltEntries[j]; newrela[i] = *(madrasRelaPltEntries[j]->elfentry.rela); } - efile->sections[relaPltIdx]->table_entries = newRelaPltEntries; - efile->sections[relaPltIdx]->nentries = newRelaPltEntriesNb; - //TODO: FREE THE MEMORY (newrela ETC.) - lc_free(efile->sections[relaPltIdx]->bits); - efile->sections[relaPltIdx]->bits = (void*)newrela; + if (relaPltIdx > 0) { + efile->sections[relaPltIdx]->table_entries = newRelaPltEntries; + efile->sections[relaPltIdx]->nentries = newRelaPltEntriesNb; + //TODO: FREE THE MEMORY (newrela ETC.) + lc_free(efile->sections[relaPltIdx]->bits); + efile->sections[relaPltIdx]->bits = (void*) newrela; + + } //efile->sections[relaPltIdx]->scnhdr->sh_size = originalRelaPltSize + (sizeof(Elf64_Rela) * nbNewGnuIfunc); } @@ -5872,7 +5899,7 @@ int* elfexe_scnreorder (elffile_t* efile,asmfile_t* afile ,int64_t codelen, int6 //Indeed, we could have extend the .rela.plt with false positives. //If one GNU_IFUNC is already present in the .rela.plt we only know at this time //but we have already extend the .rela.plt section. - if (relaPltIdx != -1) + if (relaPltIdx > 0) efile->sections[relaPltIdx]->scnhdr->sh_size = originalRelaPltSize + (sizeof(Elf64_Rela) * nbNewGnuIfunc); modifyLibcCsuIrel(efile,afile,originalRelaPltAddr,originalRelaPltSize); diff --git a/src/madras/x86_64/x86_64_arch.c b/src/madras/x86_64/x86_64_arch.c index 13a325b..40b1fcd 100644 --- a/src/madras/x86_64/x86_64_arch.c +++ b/src/madras/x86_64/x86_64_arch.c @@ -22,231 +22,232 @@ /** * \file x86_64_arch.c * \brief This file contains the static declaration of architecture specific structures -* \warning This file has been automatically generated by MINJAG from file x86_64_0e7fce186ddcbfa200f4a3f3704507e5.bdf and should not be modified +* \warning This file has been automatically generated by MINJAG from file x86_64_445d940654fc2d4c12f2c51b7cff76b0.bdf and should not be modified * */ #include "arch.h" #include "x86_64_arch.h" #include "x86_64_archmacros.h" #include "x86_64_ext.h" -char* x86_64_opcodes[1354]= { - "ADC","ADD","ADDPD","ADDPS","ADDSD","ADDSS","ADDSUBPD","ADDSUBPS","AESDEC","AESDECLAST","AESENC" - ,"AESENCLAST","AESIMC","AESKEYGENASSIST","AND","ANDN","ANDNPD","ANDNPS","ANDPD","ANDPS","BEXTR" - ,"BLENDPD","BLENDPS","BLENDVPD","BLENDVPS","BLSI","BLSMSK","BLSR","BSF","BSR","BSWAP" - ,"BT","BTC","BTR","BTS","BZHI","CALL","CBW","CLC","CLD","CLFLUSH" - ,"CLI","CLTD","CLTQ","CLTS","CMC","CMOVA","CMOVAE","CMOVB","CMOVBE","CMOVC" - ,"CMOVE","CMOVG","CMOVGE","CMOVL","CMOVLE","CMOVNA","CMOVNAE","CMOVNB","CMOVNBE","CMOVNC" - ,"CMOVNE","CMOVNG","CMOVNGE","CMOVNL","CMOVNLE","CMOVNO","CMOVNP","CMOVNS","CMOVNZ","CMOVO" - ,"CMOVP","CMOVPE","CMOVPO","CMOVS","CMOVZ","CMP","CMPPD","CMPPS","CMPS","CMPSD" - ,"CMPSS","CMPXCHG","CMPXCHG16B","CMPXCHG8B","COMISD","COMISS","CPUID","CQTO","CRC32","CVTDQ2PD" - ,"CVTDQ2PS","CVTPD2DQ","CVTPD2PI","CVTPD2PS","CVTPI2PD","CVTPI2PS","CVTPS2DQ","CVTPS2PD","CVTPS2PI","CVTSD2SI" - ,"CVTSD2SS","CVTSI2SD","CVTSI2SS","CVTSS2SD","CVTSS2SI","CVTTPD2DQ","CVTTPD2PI","CVTTPS2DQ","CVTTPS2PI","CVTTSD2SI" - ,"CVTTSS2SI","CWD","CWTL","DEC","DIV","DIVPD","DIVPS","DIVSD","DIVSS","DPPD" - ,"DPPS","EMMS","ENTER","EXTRACTPS","F2XM1","FABS","FADD","FADDP","FBLD","FBSTP" - ,"FCHS","FCLEX","FCMOVB","FCMOVBE","FCMOVE","FCMOVNB","FCMOVNBE","FCMOVNE","FCMOVNU","FCMOVU" - ,"FCOM","FCOMI","FCOMIP","FCOMP","FCOMPP","FCOS","FDECSTP","FDIV","FDIVP","FDIVR" - ,"FDIVRP","FEMMS","FFREE","FIADD","FICOM","FICOMP","FIDIV","FIDIVR","FILD","FIMUL" - ,"FINCSTP","FINIT","FIST","FISTP","FISTTP","FISUB","FISUBR","FLD","FLD1","FLDCW" - ,"FLDENV","FLDL2E","FLDL2T","FLDLG2","FLDLN2","FLDPI","FLDZ","FMUL","FMULP","FNCLEX" - ,"FNINIT","FNOP","FNSAVE","FNSTCW","FNSTENV","FNSTSW","FPATAN","FPREM","FPREM1","FPTAN" - ,"FRNDINT","FRSTOR","FSAVE","FSCALE","FSIN","FSINCOS","FSQRT","FST","FSTCW","FSTENV" - ,"FSTP","FSTSW","FSUB","FSUBP","FSUBR","FSUBRP","FTST","FUCOM","FUCOMI","FUCOMIP" - ,"FUCOMP","FUCOMPP","FWAIT","FXAM","FXCH","FXRSTOR","FXSAVE","FXTRACT","FYL2X","FYL2XP1" - ,"GETSEC","HADDPD","HADDPS","HLT","HSUBPD","HSUBPS","IDIV","IMUL","IN","INC" - ,"INS","INSERTPS","INT","INVD","INVEPT","INVLPG","INVPCID","INVVPID","IRET","IRETL" - ,"IRETQ","JA","JAE","JB","JBE","JC","JE","JECXZ","JG","JGE" - ,"JL","JLE","JMP","JNA","JNAE","JNB","JNBE","JNC","JNE","JNG" - ,"JNGE","JNL","JNLE","JNO","JNP","JNS","JNZ","JO","JP","JPE" - ,"JPO","JRCXZ","JS","JZ","KADDB","KADDD","KADDQ","KADDW","KANDB","KANDD" - ,"KANDNB","KANDND","KANDNQ","KANDNW","KANDQ","KANDW","KMOVB","KMOVD","KMOVQ","KMOVW" - ,"KNOTB","KNOTD","KNOTQ","KNOTW","KORB","KORD","KORQ","KORTESTB","KORTESTD","KORTESTQ" - ,"KORTESTW","KORW","KSHIFTLB","KSHIFTLD","KSHIFTLQ","KSHIFTLW","KSHIFTRB","KSHIFTRD","KSHIFTRQ","KSHIFTRW" - ,"KTESTB","KTESTD","KTESTQ","KTESTW","KUNPCKBW","KUNPCKDQ","KUNPCKWD","KXNORB","KXNORD","KXNORQ" - ,"KXNORW","KXORB","KXORD","KXORQ","KXORW","LAR","LCALL","LDDQU","LDMXCSR","LEA" - ,"LEAVE","LFENCE","LFS","LGDT","LGS","LIDT","LJMP","LLDT","LMSW","LODS" - ,"LOOP","LOOPE","LOOPNE","LOOPNZ","LOOPZ","LRET","LSL","LSS","LTR","LZCNT" - ,"MASKMOVDQU","MASKMOVQ","MAXPD","MAXPS","MAXSD","MAXSS","MFENCE","MINPD","MINPS","MINSD" - ,"MINSS","MONITOR","MOV","MOVAPD","MOVAPS","MOVBE","MOVD","MOVDDUP","MOVDQ2Q","MOVDQA" - ,"MOVDQU","MOVHLPS","MOVHPD","MOVHPS","MOVLHPS","MOVLPD","MOVLPS","MOVMSKPD","MOVMSKPS","MOVNTDQ" - ,"MOVNTDQA","MOVNTI","MOVNTPD","MOVNTPS","MOVNTQ","MOVQ","MOVQ2DQ","MOVS","MOVSD","MOVSHDUP" - ,"MOVSLDUP","MOVSS","MOVSX","MOVSXD","MOVUPD","MOVUPS","MOVZX","MPSADBW","MUL","MULPD" - ,"MULPS","MULSD","MULSS","MULX","MWAIT","NEG","NOP","NOT","OR","ORPD" - ,"ORPS","OUT","OUTS","PABSB","PABSD","PABSW","PACKSSDW","PACKSSWB","PACKUSDW","PACKUSWB" - ,"PADDB","PADDD","PADDQ","PADDSB","PADDSW","PADDUSB","PADDUSW","PADDW","PALIGNR","PAND" - ,"PANDN","PAUSE","PAVGB","PAVGUSB","PAVGW","PBLENDVB","PBLENDW","PCLMULQDQ","PCMPEQB","PCMPEQD" - ,"PCMPEQQ","PCMPEQW","PCMPESTRI","PCMPESTRM","PCMPGTB","PCMPGTD","PCMPGTQ","PCMPGTW","PCMPISTRI","PCMPISTRM" - ,"PDEP","PEXT","PEXTRB","PEXTRD","PEXTRQ","PEXTRW","PF2ID","PF2IW","PFACC","PFADD" - ,"PFCMPEQ","PFCMPGE","PFCMPGT","PFMAX","PFMIN","PFMUL","PFNACC","PFPNACC","PFRCP","PFRCPIT1" - ,"PFRCPIT2","PFRSQIT1","PFRSQRT","PFSUB","PFSUBR","PHADDD","PHADDSW","PHADDW","PHMINPOSUW","PHSUBD" - ,"PHSUBSW","PHSUBW","PI2FD","PI2FW","PINSRB","PINSRD","PINSRQ","PINSRW","PMADDUBSW","PMADDWD" - ,"PMAXSB","PMAXSD","PMAXSW","PMAXUB","PMAXUD","PMAXUW","PMINSB","PMINSD","PMINSW","PMINUB" - ,"PMINUD","PMINUW","PMOVMSKB","PMOVSXBD","PMOVSXBQ","PMOVSXBW","PMOVSXDQ","PMOVSXWD","PMOVSXWQ","PMOVZXBD" - ,"PMOVZXBQ","PMOVZXBW","PMOVZXDQ","PMOVZXWD","PMOVZXWQ","PMULDQ","PMULHRSW","PMULHRW","PMULHUW","PMULHW" - ,"PMULLD","PMULLW","PMULUDQ","POP","POPCNT","POPFQ","POPFW","POR","PREFETCHNTA","PREFETCHT0" - ,"PREFETCHT1","PREFETCHT2","PREFETCHW","PSADBW","PSHUFB","PSHUFD","PSHUFHW","PSHUFLW","PSHUFW","PSIGNB" - ,"PSIGND","PSIGNW","PSLLD","PSLLDQ","PSLLQ","PSLLW","PSRAD","PSRAW","PSRLD","PSRLDQ" - ,"PSRLQ","PSRLW","PSUBB","PSUBD","PSUBQ","PSUBSB","PSUBSW","PSUBUSB","PSUBUSW","PSUBW" - ,"PSWAPD","PTEST","PUNPCKHBW","PUNPCKHDQ","PUNPCKHQDQ","PUNPCKHWD","PUNPCKLBW","PUNPCKLDQ","PUNPCKLQDQ","PUNPCKLWD" - ,"PUSH","PUSHFQ","PUSHFW","PUSHW","PXOR","RCL","RCPPS","RCPSS","RCR","RDFSBASE" - ,"RDGSBASE","RDMSR","RDPMC","RDRAND","RDTSC","RDTSCP","REPE_CMPS","REPE_SCAS","REPNE_CMPS","REPNE_SCAS" - ,"REP_INS","REP_LODS","REP_MOVS","REP_OUTS","REP_STOS","RET","ROL","ROR","RORX","ROUNDPD" - ,"ROUNDPS","ROUNDSD","ROUNDSS","RSM","RSQRTPS","RSQRTSS","SAL","SAR","SARX","SBB" - ,"SCAS","SETA","SETAE","SETB","SETBE","SETC","SETE","SETG","SETGE","SETL" - ,"SETLE","SETNA","SETNAE","SETNB","SETNBE","SETNC","SETNE","SETNG","SETNGE","SETNL" - ,"SETNLE","SETNO","SETNP","SETNS","SETNZ","SETO","SETP","SETPE","SETPO","SETS" - ,"SETZ","SFENCE","SGDT","SHL","SHLD","SHLX","SHR","SHRD","SHRX","SHUFPD" - ,"SHUFPS","SIDT","SLDT","SMSW","SQRTPD","SQRTPS","SQRTSD","SQRTSS","STC","STD" - ,"STI","STMXCSR","STOS","STR","SUB","SUBPD","SUBPS","SUBSD","SUBSS","SWAPGS" - ,"SYSCALL","SYSENTER","SYSEXIT","SYSRET","TEST","TZCNT","UCOMISD","UCOMISS","UD2","UNPCKHPD" - ,"UNPCKHPS","UNPCKLPD","UNPCKLPS","VADDPD","VADDPS","VADDSD","VADDSS","VADDSUBPD","VADDSUBPS","VAESDEC" - ,"VAESDECLAST","VAESENC","VAESENCLAST","VAESIMC","VAESKEYGENASSIST","VALIGND","VALIGNQ","VANDNPD","VANDNPS","VANDPD" - ,"VANDPS","VBLENDMPD","VBLENDMPS","VBLENDPD","VBLENDPS","VBLENDVPD","VBLENDVPS","VBROADCASTF128","VBROADCASTF32X2","VBROADCASTF32X4" - ,"VBROADCASTF32X8","VBROADCASTF64X2","VBROADCASTF64X4","VBROADCASTI128","VBROADCASTI32X2","VBROADCASTI32X4","VBROADCASTI32X8","VBROADCASTI64X2","VBROADCASTI64X4","VBROADCASTSD" - ,"VBROADCASTSS","VCMPPD","VCMPPS","VCMPSD","VCMPSS","VCOMISD","VCOMISS","VCOMPRESSPD","VCOMPRESSPS","VCVTDQ2PD" - ,"VCVTDQ2PS","VCVTPD2DQ","VCVTPD2PS","VCVTPD2QQ","VCVTPD2UDQ","VCVTPD2UQQ","VCVTPH2PS","VCVTPS2DQ","VCVTPS2PD","VCVTPS2PH" - ,"VCVTPS2QQ","VCVTPS2UDQ","VCVTPS2UQQ","VCVTQQ2PD","VCVTQQ2PS","VCVTSD2SI","VCVTSD2SS","VCVTSD2USI","VCVTSI2SD","VCVTSI2SS" - ,"VCVTSS2SD","VCVTSS2SI","VCVTSS2USI","VCVTTPD2DQ","VCVTTPD2QQ","VCVTTPD2UDQ","VCVTTPD2UQQ","VCVTTPS2DQ","VCVTTPS2QQ","VCVTTPS2UDQ" - ,"VCVTTPS2UQQ","VCVTTSD2SI","VCVTTSD2USI","VCVTTSS2SI","VCVTTSS2USI","VCVTUDQ2PD","VCVTUDQ2PS","VCVTUQQ2PD","VCVTUQQ2PS","VCVTUSI2SD" - ,"VCVTUSI2SS","VDBPSADBW","VDIVPD","VDIVPS","VDIVSD","VDIVSS","VDPPD","VDPPS","VERR","VERW" - ,"VEXP2PD","VEXP2PS","VEXPANDPD","VEXPANDPS","VEXTRACTF128","VEXTRACTF32X4","VEXTRACTF32X8","VEXTRACTF64X2","VEXTRACTF64X4","VEXTRACTI128" - ,"VEXTRACTI32X4","VEXTRACTI32X8","VEXTRACTI64X2","VEXTRACTI64X4","VEXTRACTPS","VFIXUPIMMPD","VFIXUPIMMPS","VFIXUPIMMSD","VFIXUPIMMSS","VFMADD132PD" - ,"VFMADD132PS","VFMADD132SD","VFMADD132SS","VFMADD213PD","VFMADD213PS","VFMADD213SD","VFMADD213SS","VFMADD231PD","VFMADD231PS","VFMADD231SD" - ,"VFMADD231SS","VFMADDPD","VFMADDPS","VFMADDSD","VFMADDSS","VFMADDSUB132PD","VFMADDSUB132PS","VFMADDSUB213PD","VFMADDSUB213PS","VFMADDSUB231PD" - ,"VFMADDSUB231PS","VFMADDSUBPD","VFMADDSUBPS","VFMSUB132PD","VFMSUB132PS","VFMSUB132SD","VFMSUB132SS","VFMSUB213PD","VFMSUB213PS","VFMSUB213SD" - ,"VFMSUB213SS","VFMSUB231PD","VFMSUB231PS","VFMSUB231SD","VFMSUB231SS","VFMSUBADD132PD","VFMSUBADD132PS","VFMSUBADD213PD","VFMSUBADD213PS","VFMSUBADD231PD" - ,"VFMSUBADD231PS","VFMSUBADDPD","VFMSUBADDPS","VFMSUBPD","VFMSUBPS","VFMSUBSD","VFMSUBSS","VFNMADD132PD","VFNMADD132PS","VFNMADD132SD" - ,"VFNMADD132SS","VFNMADD213PD","VFNMADD213PS","VFNMADD213SD","VFNMADD213SS","VFNMADD231PD","VFNMADD231PS","VFNMADD231SD","VFNMADD231SS","VFNMADDPD" - ,"VFNMADDPS","VFNMADDSD","VFNMADDSS","VFNMSUB132PD","VFNMSUB132PS","VFNMSUB132SD","VFNMSUB132SS","VFNMSUB213PD","VFNMSUB213PS","VFNMSUB213SD" - ,"VFNMSUB213SS","VFNMSUB231PD","VFNMSUB231PS","VFNMSUB231SD","VFNMSUB231SS","VFNMSUBPD","VFNMSUBPS","VFNMSUBSD","VFNMSUBSS","VFPCLASSPD" - ,"VFPCLASSPS","VFPCLASSSD","VFPCLASSSS","VGATHERDPD","VGATHERDPS","VGATHERPF0DPD","VGATHERPF0DPS","VGATHERPF0QPD","VGATHERPF0QPS","VGATHERPF1DPD" - ,"VGATHERPF1DPS","VGATHERPF1QPD","VGATHERPF1QPS","VGATHERQPD","VGATHERQPS","VGETEXPPD","VGETEXPPS","VGETEXPSD","VGETEXPSS","VGETMANTPD" - ,"VGETMANTPS","VGETMANTSD","VGETMANTSS","VHADDPD","VHADDPS","VHSUBPD","VHSUBPS","VINSERTF128","VINSERTF32X4","VINSERTF32X8" - ,"VINSERTF64X2","VINSERTF64X4","VINSERTI128","VINSERTI32X4","VINSERTI32X8","VINSERTI64X2","VINSERTI64X4","VINSERTPS","VLDDQU","VLDMXCSR" - ,"VMASKMOVDQU","VMASKMOVPD","VMASKMOVPS","VMAXPD","VMAXPS","VMAXSD","VMAXSS","VMCALL","VMCLEAR","VMFUNC" - ,"VMINPD","VMINPS","VMINSD","VMINSS","VMLAUNCH","VMOVAPD","VMOVAPS","VMOVD","VMOVDDUP","VMOVDQA" - ,"VMOVDQA32","VMOVDQA64","VMOVDQU","VMOVDQU16","VMOVDQU32","VMOVDQU64","VMOVDQU8","VMOVHLPS","VMOVHPD","VMOVHPS" - ,"VMOVLHPS","VMOVLPD","VMOVLPS","VMOVMSKPD","VMOVMSKPS","VMOVNTDQ","VMOVNTDQA","VMOVNTPD","VMOVNTPS","VMOVQ" - ,"VMOVSD","VMOVSHDUP","VMOVSLDUP","VMOVSS","VMOVUPD","VMOVUPS","VMPSADBW","VMPTRLD","VMPTRST","VMREAD" - ,"VMRESUME","VMULPD","VMULPS","VMULSD","VMULSS","VMWRITE","VMXOFF","VMXON","VORPD","VORPS" - ,"VPABSB","VPABSD","VPABSQ","VPABSW","VPACKSSDW","VPACKSSWB","VPACKUSDW","VPACKUSWB","VPADDB","VPADDD" - ,"VPADDQ","VPADDSB","VPADDSW","VPADDUSB","VPADDUSW","VPADDW","VPALIGNR","VPAND","VPANDD","VPANDN" - ,"VPANDND","VPANDNQ","VPANDQ","VPAVGB","VPAVGW","VPBLENDD","VPBLENDMB","VPBLENDMD","VPBLENDMQ","VPBLENDMW" - ,"VPBLENDVB","VPBLENDW","VPBROADCASTB","VPBROADCASTD","VPBROADCASTMB2Q","VPBROADCASTMW2D","VPBROADCASTQ","VPBROADCASTW","VPCLMULQDQ","VPCMOV" - ,"VPCMPB","VPCMPD","VPCMPEQB","VPCMPEQD","VPCMPEQQ","VPCMPEQUD","VPCMPEQUQ","VPCMPEQW","VPCMPESTRI","VPCMPESTRM" - ,"VPCMPGTB","VPCMPGTD","VPCMPGTQ","VPCMPGTW","VPCMPISTRI","VPCMPISTRM","VPCMPLED","VPCMPLEQ","VPCMPLEUD","VPCMPLEUQ" - ,"VPCMPLTD","VPCMPLTQ","VPCMPLTUD","VPCMPLTUQ","VPCMPNEQD","VPCMPNEQQ","VPCMPNEQUD","VPCMPNEQUQ","VPCMPNLED","VPCMPNLEQ" - ,"VPCMPNLEUD","VPCMPNLEUQ","VPCMPNLTD","VPCMPNLTQ","VPCMPNLTUD","VPCMPNLTUQ","VPCMPQ","VPCMPUB","VPCMPUD","VPCMPUQ" - ,"VPCMPUW","VPCMPW","VPCOMB","VPCOMD","VPCOMPRESSD","VPCOMPRESSQ","VPCOMQ","VPCOMUB","VPCONFLICTD","VPCONFLICTQ" - ,"VPERM2F128","VPERM2I128","VPERMD","VPERMI2D","VPERMI2PD","VPERMI2PS","VPERMI2Q","VPERMI2W","VPERMILPD","VPERMILPS" - ,"VPERMPD","VPERMPS","VPERMQ","VPERMT2D","VPERMT2PD","VPERMT2PS","VPERMT2Q","VPERMT2W","VPERMW","VPEXPANDD" - ,"VPEXPANDQ","VPEXTRB","VPEXTRD","VPEXTRQ","VPEXTRW","VPGATHERDD","VPGATHERDQ","VPGATHERQD","VPGATHERQQ","VPHADDD" - ,"VPHADDSW","VPHADDW","VPHMINPOSUW","VPHSUBD","VPHSUBSW","VPHSUBW","VPINSRB","VPINSRD","VPINSRQ","VPINSRW" - ,"VPLZCNTD","VPLZCNTQ","VPMADDUBSW","VPMADDWD","VPMASKMOVD","VPMASKMOVQ","VPMAXSB","VPMAXSD","VPMAXSQ","VPMAXSW" - ,"VPMAXUB","VPMAXUD","VPMAXUQ","VPMAXUW","VPMINSB","VPMINSD","VPMINSQ","VPMINSW","VPMINUB","VPMINUD" - ,"VPMINUQ","VPMINUW","VPMOVB2M","VPMOVD2M","VPMOVDB","VPMOVDW","VPMOVM2B","VPMOVM2D","VPMOVM2Q","VPMOVM2W" - ,"VPMOVMSKB","VPMOVQ2M","VPMOVQB","VPMOVQD","VPMOVQW","VPMOVSDB","VPMOVSDW","VPMOVSQB","VPMOVSQD","VPMOVSQW" - ,"VPMOVSWB","VPMOVSXBD","VPMOVSXBQ","VPMOVSXBW","VPMOVSXDQ","VPMOVSXWD","VPMOVSXWQ","VPMOVUSDB","VPMOVUSDW","VPMOVUSQB" - ,"VPMOVUSQD","VPMOVUSQW","VPMOVUSWB","VPMOVW2M","VPMOVWB","VPMOVZXBD","VPMOVZXBQ","VPMOVZXBW","VPMOVZXDQ","VPMOVZXWD" - ,"VPMOVZXWQ","VPMULDQ","VPMULHRSW","VPMULHUW","VPMULHW","VPMULLD","VPMULLQ","VPMULLW","VPMULUDQ","VPOR" - ,"VPORD","VPORQ","VPROLD","VPROLQ","VPROLVD","VPROLVQ","VPRORD","VPRORQ","VPRORVD","VPRORVQ" - ,"VPSADBW","VPSCATTERDD","VPSCATTERDQ","VPSCATTERQD","VPSCATTERQQ","VPSHUFB","VPSHUFD","VPSHUFHW","VPSHUFLW","VPSIGNB" - ,"VPSIGND","VPSIGNW","VPSLLD","VPSLLDQ","VPSLLQ","VPSLLVD","VPSLLVQ","VPSLLVW","VPSLLW","VPSRAD" - ,"VPSRAQ","VPSRAVD","VPSRAVQ","VPSRAVW","VPSRAW","VPSRLD","VPSRLDQ","VPSRLQ","VPSRLVD","VPSRLVQ" - ,"VPSRLVW","VPSRLW","VPSUBB","VPSUBD","VPSUBQ","VPSUBSB","VPSUBSW","VPSUBUSB","VPSUBUSW","VPSUBW" - ,"VPTERNLOGD","VPTERNLOGQ","VPTEST","VPTESTMB","VPTESTMD","VPTESTMQ","VPTESTMW","VPTESTNMB","VPTESTNMD","VPTESTNMQ" - ,"VPTESTNMW","VPUNPCKHBW","VPUNPCKHDQ","VPUNPCKHQDQ","VPUNPCKHWD","VPUNPCKLBW","VPUNPCKLDQ","VPUNPCKLQDQ","VPUNPCKLWD","VPXOR" - ,"VPXORD","VPXORQ","VRANGEPD","VRANGEPS","VRANGESD","VRANGESS","VRCP14PD","VRCP14PS","VRCP14SD","VRCP14SS" - ,"VRCP28PD","VRCP28PS","VRCP28SD","VRCP28SS","VRCPPS","VRCPSS","VREDUCEPD","VREDUCEPS","VREDUCESS","VRNDSCALEPD" - ,"VRNDSCALEPS","VRNDSCALESD","VRNDSCALESS","VROUNDPD","VROUNDPS","VROUNDSD","VROUNDSS","VRSQRT14PD","VRSQRT14PS","VRSQRT14SD" - ,"VRSQRT14SS","VRSQRT28PD","VRSQRT28PS","VRSQRT28SD","VRSQRT28SS","VRSQRTPS","VRSQRTSS","VSCALEFPD","VSCALEFPS","VSCALEFSD" - ,"VSCALEFSS","VSCATTERDPD","VSCATTERDPS","VSCATTERPF0DPD","VSCATTERPF0DPS","VSCATTERPF0QPD","VSCATTERPF0QPS","VSCATTERPF1DPD","VSCATTERPF1DPS","VSCATTERPF1QPD" - ,"VSCATTERPF1QPS","VSCATTERQPD","VSCATTERQPS","VSHUFF32X4","VSHUFF64X2","VSHUFI32X4","VSHUFI64X2","VSHUFPD","VSHUFPS","VSQRTPD" - ,"VSQRTPS","VSQRTSD","VSQRTSS","VSTMXCSR","VSUBPD","VSUBPS","VSUBSD","VSUBSS","VTESTPD","VTESTPS" - ,"VUCOMISD","VUCOMISS","VUNPCKHPD","VUNPCKHPS","VUNPCKLPD","VUNPCKLPS","VXORPD","VXORPS","VZEROALL","VZEROUPPER" - ,"WAIT","WBINVD","WRFSBASE","WRGSBASE","WRMSR","XABORT","XADD","XBEGIN","XCHG","XEND" - ,"XGETBV","XLAT","XOR","XORPD","XORPS","XRSTOR","XRSTOR64","XSAVE","XSAVE64","XSAVEOPT" - ,"XSAVEOPT64","XSETBV","XTEST" +char* x86_64_opcodes[1357]= { + "ADC","ADCX","ADD","ADDPD","ADDPS","ADDSD","ADDSS","ADDSUBPD","ADDSUBPS","ADOX","AESDEC" + ,"AESDECLAST","AESENC","AESENCLAST","AESIMC","AESKEYGENASSIST","AND","ANDN","ANDNPD","ANDNPS","ANDPD" + ,"ANDPS","BEXTR","BLENDPD","BLENDPS","BLENDVPD","BLENDVPS","BLSI","BLSMSK","BLSR","BSF" + ,"BSR","BSWAP","BT","BTC","BTR","BTS","BZHI","CALL","CBW","CLC" + ,"CLD","CLFLUSH","CLI","CLTD","CLTQ","CLTS","CMC","CMOVA","CMOVAE","CMOVB" + ,"CMOVBE","CMOVC","CMOVE","CMOVG","CMOVGE","CMOVL","CMOVLE","CMOVNA","CMOVNAE","CMOVNB" + ,"CMOVNBE","CMOVNC","CMOVNE","CMOVNG","CMOVNGE","CMOVNL","CMOVNLE","CMOVNO","CMOVNP","CMOVNS" + ,"CMOVNZ","CMOVO","CMOVP","CMOVPE","CMOVPO","CMOVS","CMOVZ","CMP","CMPPD","CMPPS" + ,"CMPS","CMPSD","CMPSS","CMPXCHG","CMPXCHG16B","CMPXCHG8B","COMISD","COMISS","CPUID","CQTO" + ,"CRC32","CVTDQ2PD","CVTDQ2PS","CVTPD2DQ","CVTPD2PI","CVTPD2PS","CVTPI2PD","CVTPI2PS","CVTPS2DQ","CVTPS2PD" + ,"CVTPS2PI","CVTSD2SI","CVTSD2SS","CVTSI2SD","CVTSI2SS","CVTSS2SD","CVTSS2SI","CVTTPD2DQ","CVTTPD2PI","CVTTPS2DQ" + ,"CVTTPS2PI","CVTTSD2SI","CVTTSS2SI","CWD","CWTL","DEC","DIV","DIVPD","DIVPS","DIVSD" + ,"DIVSS","DPPD","DPPS","EMMS","ENTER","EXTRACTPS","F2XM1","FABS","FADD","FADDP" + ,"FBLD","FBSTP","FCHS","FCLEX","FCMOVB","FCMOVBE","FCMOVE","FCMOVNB","FCMOVNBE","FCMOVNE" + ,"FCMOVNU","FCMOVU","FCOM","FCOMI","FCOMIP","FCOMP","FCOMPP","FCOS","FDECSTP","FDIV" + ,"FDIVP","FDIVR","FDIVRP","FEMMS","FFREE","FIADD","FICOM","FICOMP","FIDIV","FIDIVR" + ,"FILD","FIMUL","FINCSTP","FINIT","FIST","FISTP","FISTTP","FISUB","FISUBR","FLD" + ,"FLD1","FLDCW","FLDENV","FLDL2E","FLDL2T","FLDLG2","FLDLN2","FLDPI","FLDZ","FMUL" + ,"FMULP","FNCLEX","FNINIT","FNOP","FNSAVE","FNSTCW","FNSTENV","FNSTSW","FPATAN","FPREM" + ,"FPREM1","FPTAN","FRNDINT","FRSTOR","FSAVE","FSCALE","FSIN","FSINCOS","FSQRT","FST" + ,"FSTCW","FSTENV","FSTP","FSTSW","FSUB","FSUBP","FSUBR","FSUBRP","FTST","FUCOM" + ,"FUCOMI","FUCOMIP","FUCOMP","FUCOMPP","FWAIT","FXAM","FXCH","FXRSTOR","FXSAVE","FXTRACT" + ,"FYL2X","FYL2XP1","GETSEC","HADDPD","HADDPS","HLT","HSUBPD","HSUBPS","IDIV","IMUL" + ,"IN","INC","INS","INSERTPS","INT","INVD","INVEPT","INVLPG","INVPCID","INVVPID" + ,"IRET","IRETL","IRETQ","JA","JAE","JB","JBE","JC","JE","JECXZ" + ,"JG","JGE","JL","JLE","JMP","JNA","JNAE","JNB","JNBE","JNC" + ,"JNE","JNG","JNGE","JNL","JNLE","JNO","JNP","JNS","JNZ","JO" + ,"JP","JPE","JPO","JRCXZ","JS","JZ","KADDB","KADDD","KADDQ","KADDW" + ,"KANDB","KANDD","KANDNB","KANDND","KANDNQ","KANDNW","KANDQ","KANDW","KMOVB","KMOVD" + ,"KMOVQ","KMOVW","KNOTB","KNOTD","KNOTQ","KNOTW","KORB","KORD","KORQ","KORTESTB" + ,"KORTESTD","KORTESTQ","KORTESTW","KORW","KSHIFTLB","KSHIFTLD","KSHIFTLQ","KSHIFTLW","KSHIFTRB","KSHIFTRD" + ,"KSHIFTRQ","KSHIFTRW","KTESTB","KTESTD","KTESTQ","KTESTW","KUNPCKBW","KUNPCKDQ","KUNPCKWD","KXNORB" + ,"KXNORD","KXNORQ","KXNORW","KXORB","KXORD","KXORQ","KXORW","LAR","LCALL","LDDQU" + ,"LDMXCSR","LEA","LEAVE","LFENCE","LFS","LGDT","LGS","LIDT","LJMP","LLDT" + ,"LMSW","LODS","LOOP","LOOPE","LOOPNE","LOOPNZ","LOOPZ","LRET","LSL","LSS" + ,"LTR","LZCNT","MASKMOVDQU","MASKMOVQ","MAXPD","MAXPS","MAXSD","MAXSS","MFENCE","MINPD" + ,"MINPS","MINSD","MINSS","MONITOR","MOV","MOVAPD","MOVAPS","MOVBE","MOVD","MOVDDUP" + ,"MOVDQ2Q","MOVDQA","MOVDQU","MOVHLPS","MOVHPD","MOVHPS","MOVLHPS","MOVLPD","MOVLPS","MOVMSKPD" + ,"MOVMSKPS","MOVNTDQ","MOVNTDQA","MOVNTI","MOVNTPD","MOVNTPS","MOVNTQ","MOVQ","MOVQ2DQ","MOVS" + ,"MOVSD","MOVSHDUP","MOVSLDUP","MOVSS","MOVSX","MOVSXD","MOVUPD","MOVUPS","MOVZX","MPSADBW" + ,"MUL","MULPD","MULPS","MULSD","MULSS","MULX","MWAIT","NEG","NOP","NOT" + ,"OR","ORPD","ORPS","OUT","OUTS","PABSB","PABSD","PABSW","PACKSSDW","PACKSSWB" + ,"PACKUSDW","PACKUSWB","PADDB","PADDD","PADDQ","PADDSB","PADDSW","PADDUSB","PADDUSW","PADDW" + ,"PALIGNR","PAND","PANDN","PAUSE","PAVGB","PAVGUSB","PAVGW","PBLENDVB","PBLENDW","PCLMULQDQ" + ,"PCMPEQB","PCMPEQD","PCMPEQQ","PCMPEQW","PCMPESTRI","PCMPESTRM","PCMPGTB","PCMPGTD","PCMPGTQ","PCMPGTW" + ,"PCMPISTRI","PCMPISTRM","PDEP","PEXT","PEXTRB","PEXTRD","PEXTRQ","PEXTRW","PF2ID","PF2IW" + ,"PFACC","PFADD","PFCMPEQ","PFCMPGE","PFCMPGT","PFMAX","PFMIN","PFMUL","PFNACC","PFPNACC" + ,"PFRCP","PFRCPIT1","PFRCPIT2","PFRSQIT1","PFRSQRT","PFSUB","PFSUBR","PHADDD","PHADDSW","PHADDW" + ,"PHMINPOSUW","PHSUBD","PHSUBSW","PHSUBW","PI2FD","PI2FW","PINSRB","PINSRD","PINSRQ","PINSRW" + ,"PMADDUBSW","PMADDWD","PMAXSB","PMAXSD","PMAXSW","PMAXUB","PMAXUD","PMAXUW","PMINSB","PMINSD" + ,"PMINSW","PMINUB","PMINUD","PMINUW","PMOVMSKB","PMOVSXBD","PMOVSXBQ","PMOVSXBW","PMOVSXDQ","PMOVSXWD" + ,"PMOVSXWQ","PMOVZXBD","PMOVZXBQ","PMOVZXBW","PMOVZXDQ","PMOVZXWD","PMOVZXWQ","PMULDQ","PMULHRSW","PMULHRW" + ,"PMULHUW","PMULHW","PMULLD","PMULLW","PMULUDQ","POP","POPCNT","POPFQ","POPFW","POR" + ,"PREFETCHNTA","PREFETCHT0","PREFETCHT1","PREFETCHT2","PREFETCHW","PSADBW","PSHUFB","PSHUFD","PSHUFHW","PSHUFLW" + ,"PSHUFW","PSIGNB","PSIGND","PSIGNW","PSLLD","PSLLDQ","PSLLQ","PSLLW","PSRAD","PSRAW" + ,"PSRLD","PSRLDQ","PSRLQ","PSRLW","PSUBB","PSUBD","PSUBQ","PSUBSB","PSUBSW","PSUBUSB" + ,"PSUBUSW","PSUBW","PSWAPD","PTEST","PUNPCKHBW","PUNPCKHDQ","PUNPCKHQDQ","PUNPCKHWD","PUNPCKLBW","PUNPCKLDQ" + ,"PUNPCKLQDQ","PUNPCKLWD","PUSH","PUSHFQ","PUSHFW","PUSHW","PXOR","RCL","RCPPS","RCPSS" + ,"RCR","RDFSBASE","RDGSBASE","RDMSR","RDPMC","RDRAND","RDSEED","RDTSC","RDTSCP","REPE_CMPS" + ,"REPE_SCAS","REPNE_CMPS","REPNE_SCAS","REP_INS","REP_LODS","REP_MOVS","REP_OUTS","REP_STOS","RET","ROL" + ,"ROR","RORX","ROUNDPD","ROUNDPS","ROUNDSD","ROUNDSS","RSM","RSQRTPS","RSQRTSS","SAL" + ,"SAR","SARX","SBB","SCAS","SETA","SETAE","SETB","SETBE","SETC","SETE" + ,"SETG","SETGE","SETL","SETLE","SETNA","SETNAE","SETNB","SETNBE","SETNC","SETNE" + ,"SETNG","SETNGE","SETNL","SETNLE","SETNO","SETNP","SETNS","SETNZ","SETO","SETP" + ,"SETPE","SETPO","SETS","SETZ","SFENCE","SGDT","SHL","SHLD","SHLX","SHR" + ,"SHRD","SHRX","SHUFPD","SHUFPS","SIDT","SLDT","SMSW","SQRTPD","SQRTPS","SQRTSD" + ,"SQRTSS","STC","STD","STI","STMXCSR","STOS","STR","SUB","SUBPD","SUBPS" + ,"SUBSD","SUBSS","SWAPGS","SYSCALL","SYSENTER","SYSEXIT","SYSRET","TEST","TZCNT","UCOMISD" + ,"UCOMISS","UD2","UNPCKHPD","UNPCKHPS","UNPCKLPD","UNPCKLPS","VADDPD","VADDPS","VADDSD","VADDSS" + ,"VADDSUBPD","VADDSUBPS","VAESDEC","VAESDECLAST","VAESENC","VAESENCLAST","VAESIMC","VAESKEYGENASSIST","VALIGND","VALIGNQ" + ,"VANDNPD","VANDNPS","VANDPD","VANDPS","VBLENDMPD","VBLENDMPS","VBLENDPD","VBLENDPS","VBLENDVPD","VBLENDVPS" + ,"VBROADCASTF128","VBROADCASTF32X2","VBROADCASTF32X4","VBROADCASTF32X8","VBROADCASTF64X2","VBROADCASTF64X4","VBROADCASTI128","VBROADCASTI32X2","VBROADCASTI32X4","VBROADCASTI32X8" + ,"VBROADCASTI64X2","VBROADCASTI64X4","VBROADCASTSD","VBROADCASTSS","VCMPPD","VCMPPS","VCMPSD","VCMPSS","VCOMISD","VCOMISS" + ,"VCOMPRESSPD","VCOMPRESSPS","VCVTDQ2PD","VCVTDQ2PS","VCVTPD2DQ","VCVTPD2PS","VCVTPD2QQ","VCVTPD2UDQ","VCVTPD2UQQ","VCVTPH2PS" + ,"VCVTPS2DQ","VCVTPS2PD","VCVTPS2PH","VCVTPS2QQ","VCVTPS2UDQ","VCVTPS2UQQ","VCVTQQ2PD","VCVTQQ2PS","VCVTSD2SI","VCVTSD2SS" + ,"VCVTSD2USI","VCVTSI2SD","VCVTSI2SS","VCVTSS2SD","VCVTSS2SI","VCVTSS2USI","VCVTTPD2DQ","VCVTTPD2QQ","VCVTTPD2UDQ","VCVTTPD2UQQ" + ,"VCVTTPS2DQ","VCVTTPS2QQ","VCVTTPS2UDQ","VCVTTPS2UQQ","VCVTTSD2SI","VCVTTSD2USI","VCVTTSS2SI","VCVTTSS2USI","VCVTUDQ2PD","VCVTUDQ2PS" + ,"VCVTUQQ2PD","VCVTUQQ2PS","VCVTUSI2SD","VCVTUSI2SS","VDBPSADBW","VDIVPD","VDIVPS","VDIVSD","VDIVSS","VDPPD" + ,"VDPPS","VERR","VERW","VEXP2PD","VEXP2PS","VEXPANDPD","VEXPANDPS","VEXTRACTF128","VEXTRACTF32X4","VEXTRACTF32X8" + ,"VEXTRACTF64X2","VEXTRACTF64X4","VEXTRACTI128","VEXTRACTI32X4","VEXTRACTI32X8","VEXTRACTI64X2","VEXTRACTI64X4","VEXTRACTPS","VFIXUPIMMPD","VFIXUPIMMPS" + ,"VFIXUPIMMSD","VFIXUPIMMSS","VFMADD132PD","VFMADD132PS","VFMADD132SD","VFMADD132SS","VFMADD213PD","VFMADD213PS","VFMADD213SD","VFMADD213SS" + ,"VFMADD231PD","VFMADD231PS","VFMADD231SD","VFMADD231SS","VFMADDPD","VFMADDPS","VFMADDSD","VFMADDSS","VFMADDSUB132PD","VFMADDSUB132PS" + ,"VFMADDSUB213PD","VFMADDSUB213PS","VFMADDSUB231PD","VFMADDSUB231PS","VFMADDSUBPD","VFMADDSUBPS","VFMSUB132PD","VFMSUB132PS","VFMSUB132SD","VFMSUB132SS" + ,"VFMSUB213PD","VFMSUB213PS","VFMSUB213SD","VFMSUB213SS","VFMSUB231PD","VFMSUB231PS","VFMSUB231SD","VFMSUB231SS","VFMSUBADD132PD","VFMSUBADD132PS" + ,"VFMSUBADD213PD","VFMSUBADD213PS","VFMSUBADD231PD","VFMSUBADD231PS","VFMSUBADDPD","VFMSUBADDPS","VFMSUBPD","VFMSUBPS","VFMSUBSD","VFMSUBSS" + ,"VFNMADD132PD","VFNMADD132PS","VFNMADD132SD","VFNMADD132SS","VFNMADD213PD","VFNMADD213PS","VFNMADD213SD","VFNMADD213SS","VFNMADD231PD","VFNMADD231PS" + ,"VFNMADD231SD","VFNMADD231SS","VFNMADDPD","VFNMADDPS","VFNMADDSD","VFNMADDSS","VFNMSUB132PD","VFNMSUB132PS","VFNMSUB132SD","VFNMSUB132SS" + ,"VFNMSUB213PD","VFNMSUB213PS","VFNMSUB213SD","VFNMSUB213SS","VFNMSUB231PD","VFNMSUB231PS","VFNMSUB231SD","VFNMSUB231SS","VFNMSUBPD","VFNMSUBPS" + ,"VFNMSUBSD","VFNMSUBSS","VFPCLASSPD","VFPCLASSPS","VFPCLASSSD","VFPCLASSSS","VGATHERDPD","VGATHERDPS","VGATHERPF0DPD","VGATHERPF0DPS" + ,"VGATHERPF0QPD","VGATHERPF0QPS","VGATHERPF1DPD","VGATHERPF1DPS","VGATHERPF1QPD","VGATHERPF1QPS","VGATHERQPD","VGATHERQPS","VGETEXPPD","VGETEXPPS" + ,"VGETEXPSD","VGETEXPSS","VGETMANTPD","VGETMANTPS","VGETMANTSD","VGETMANTSS","VHADDPD","VHADDPS","VHSUBPD","VHSUBPS" + ,"VINSERTF128","VINSERTF32X4","VINSERTF32X8","VINSERTF64X2","VINSERTF64X4","VINSERTI128","VINSERTI32X4","VINSERTI32X8","VINSERTI64X2","VINSERTI64X4" + ,"VINSERTPS","VLDDQU","VLDMXCSR","VMASKMOVDQU","VMASKMOVPD","VMASKMOVPS","VMAXPD","VMAXPS","VMAXSD","VMAXSS" + ,"VMCALL","VMCLEAR","VMFUNC","VMINPD","VMINPS","VMINSD","VMINSS","VMLAUNCH","VMOVAPD","VMOVAPS" + ,"VMOVD","VMOVDDUP","VMOVDQA","VMOVDQA32","VMOVDQA64","VMOVDQU","VMOVDQU16","VMOVDQU32","VMOVDQU64","VMOVDQU8" + ,"VMOVHLPS","VMOVHPD","VMOVHPS","VMOVLHPS","VMOVLPD","VMOVLPS","VMOVMSKPD","VMOVMSKPS","VMOVNTDQ","VMOVNTDQA" + ,"VMOVNTPD","VMOVNTPS","VMOVQ","VMOVSD","VMOVSHDUP","VMOVSLDUP","VMOVSS","VMOVUPD","VMOVUPS","VMPSADBW" + ,"VMPTRLD","VMPTRST","VMREAD","VMRESUME","VMULPD","VMULPS","VMULSD","VMULSS","VMWRITE","VMXOFF" + ,"VMXON","VORPD","VORPS","VPABSB","VPABSD","VPABSQ","VPABSW","VPACKSSDW","VPACKSSWB","VPACKUSDW" + ,"VPACKUSWB","VPADDB","VPADDD","VPADDQ","VPADDSB","VPADDSW","VPADDUSB","VPADDUSW","VPADDW","VPALIGNR" + ,"VPAND","VPANDD","VPANDN","VPANDND","VPANDNQ","VPANDQ","VPAVGB","VPAVGW","VPBLENDD","VPBLENDMB" + ,"VPBLENDMD","VPBLENDMQ","VPBLENDMW","VPBLENDVB","VPBLENDW","VPBROADCASTB","VPBROADCASTD","VPBROADCASTMB2Q","VPBROADCASTMW2D","VPBROADCASTQ" + ,"VPBROADCASTW","VPCLMULQDQ","VPCMOV","VPCMPB","VPCMPD","VPCMPEQB","VPCMPEQD","VPCMPEQQ","VPCMPEQUD","VPCMPEQUQ" + ,"VPCMPEQW","VPCMPESTRI","VPCMPESTRM","VPCMPGTB","VPCMPGTD","VPCMPGTQ","VPCMPGTW","VPCMPISTRI","VPCMPISTRM","VPCMPLED" + ,"VPCMPLEQ","VPCMPLEUD","VPCMPLEUQ","VPCMPLTD","VPCMPLTQ","VPCMPLTUD","VPCMPLTUQ","VPCMPNEQD","VPCMPNEQQ","VPCMPNEQUD" + ,"VPCMPNEQUQ","VPCMPNLED","VPCMPNLEQ","VPCMPNLEUD","VPCMPNLEUQ","VPCMPNLTD","VPCMPNLTQ","VPCMPNLTUD","VPCMPNLTUQ","VPCMPQ" + ,"VPCMPUB","VPCMPUD","VPCMPUQ","VPCMPUW","VPCMPW","VPCOMB","VPCOMD","VPCOMPRESSD","VPCOMPRESSQ","VPCOMQ" + ,"VPCOMUB","VPCONFLICTD","VPCONFLICTQ","VPERM2F128","VPERM2I128","VPERMD","VPERMI2D","VPERMI2PD","VPERMI2PS","VPERMI2Q" + ,"VPERMI2W","VPERMILPD","VPERMILPS","VPERMPD","VPERMPS","VPERMQ","VPERMT2D","VPERMT2PD","VPERMT2PS","VPERMT2Q" + ,"VPERMT2W","VPERMW","VPEXPANDD","VPEXPANDQ","VPEXTRB","VPEXTRD","VPEXTRQ","VPEXTRW","VPGATHERDD","VPGATHERDQ" + ,"VPGATHERQD","VPGATHERQQ","VPHADDD","VPHADDSW","VPHADDW","VPHMINPOSUW","VPHSUBD","VPHSUBSW","VPHSUBW","VPINSRB" + ,"VPINSRD","VPINSRQ","VPINSRW","VPLZCNTD","VPLZCNTQ","VPMADDUBSW","VPMADDWD","VPMASKMOVD","VPMASKMOVQ","VPMAXSB" + ,"VPMAXSD","VPMAXSQ","VPMAXSW","VPMAXUB","VPMAXUD","VPMAXUQ","VPMAXUW","VPMINSB","VPMINSD","VPMINSQ" + ,"VPMINSW","VPMINUB","VPMINUD","VPMINUQ","VPMINUW","VPMOVB2M","VPMOVD2M","VPMOVDB","VPMOVDW","VPMOVM2B" + ,"VPMOVM2D","VPMOVM2Q","VPMOVM2W","VPMOVMSKB","VPMOVQ2M","VPMOVQB","VPMOVQD","VPMOVQW","VPMOVSDB","VPMOVSDW" + ,"VPMOVSQB","VPMOVSQD","VPMOVSQW","VPMOVSWB","VPMOVSXBD","VPMOVSXBQ","VPMOVSXBW","VPMOVSXDQ","VPMOVSXWD","VPMOVSXWQ" + ,"VPMOVUSDB","VPMOVUSDW","VPMOVUSQB","VPMOVUSQD","VPMOVUSQW","VPMOVUSWB","VPMOVW2M","VPMOVWB","VPMOVZXBD","VPMOVZXBQ" + ,"VPMOVZXBW","VPMOVZXDQ","VPMOVZXWD","VPMOVZXWQ","VPMULDQ","VPMULHRSW","VPMULHUW","VPMULHW","VPMULLD","VPMULLQ" + ,"VPMULLW","VPMULUDQ","VPOR","VPORD","VPORQ","VPROLD","VPROLQ","VPROLVD","VPROLVQ","VPRORD" + ,"VPRORQ","VPRORVD","VPRORVQ","VPSADBW","VPSCATTERDD","VPSCATTERDQ","VPSCATTERQD","VPSCATTERQQ","VPSHUFB","VPSHUFD" + ,"VPSHUFHW","VPSHUFLW","VPSIGNB","VPSIGND","VPSIGNW","VPSLLD","VPSLLDQ","VPSLLQ","VPSLLVD","VPSLLVQ" + ,"VPSLLVW","VPSLLW","VPSRAD","VPSRAQ","VPSRAVD","VPSRAVQ","VPSRAVW","VPSRAW","VPSRLD","VPSRLDQ" + ,"VPSRLQ","VPSRLVD","VPSRLVQ","VPSRLVW","VPSRLW","VPSUBB","VPSUBD","VPSUBQ","VPSUBSB","VPSUBSW" + ,"VPSUBUSB","VPSUBUSW","VPSUBW","VPTERNLOGD","VPTERNLOGQ","VPTEST","VPTESTMB","VPTESTMD","VPTESTMQ","VPTESTMW" + ,"VPTESTNMB","VPTESTNMD","VPTESTNMQ","VPTESTNMW","VPUNPCKHBW","VPUNPCKHDQ","VPUNPCKHQDQ","VPUNPCKHWD","VPUNPCKLBW","VPUNPCKLDQ" + ,"VPUNPCKLQDQ","VPUNPCKLWD","VPXOR","VPXORD","VPXORQ","VRANGEPD","VRANGEPS","VRANGESD","VRANGESS","VRCP14PD" + ,"VRCP14PS","VRCP14SD","VRCP14SS","VRCP28PD","VRCP28PS","VRCP28SD","VRCP28SS","VRCPPS","VRCPSS","VREDUCEPD" + ,"VREDUCEPS","VREDUCESS","VRNDSCALEPD","VRNDSCALEPS","VRNDSCALESD","VRNDSCALESS","VROUNDPD","VROUNDPS","VROUNDSD","VROUNDSS" + ,"VRSQRT14PD","VRSQRT14PS","VRSQRT14SD","VRSQRT14SS","VRSQRT28PD","VRSQRT28PS","VRSQRT28SD","VRSQRT28SS","VRSQRTPS","VRSQRTSS" + ,"VSCALEFPD","VSCALEFPS","VSCALEFSD","VSCALEFSS","VSCATTERDPD","VSCATTERDPS","VSCATTERPF0DPD","VSCATTERPF0DPS","VSCATTERPF0QPD","VSCATTERPF0QPS" + ,"VSCATTERPF1DPD","VSCATTERPF1DPS","VSCATTERPF1QPD","VSCATTERPF1QPS","VSCATTERQPD","VSCATTERQPS","VSHUFF32X4","VSHUFF64X2","VSHUFI32X4","VSHUFI64X2" + ,"VSHUFPD","VSHUFPS","VSQRTPD","VSQRTPS","VSQRTSD","VSQRTSS","VSTMXCSR","VSUBPD","VSUBPS","VSUBSD" + ,"VSUBSS","VTESTPD","VTESTPS","VUCOMISD","VUCOMISS","VUNPCKHPD","VUNPCKHPS","VUNPCKLPD","VUNPCKLPS","VXORPD" + ,"VXORPS","VZEROALL","VZEROUPPER","WAIT","WBINVD","WRFSBASE","WRGSBASE","WRMSR","XABORT","XADD" + ,"XBEGIN","XCHG","XEND","XGETBV","XLAT","XOR","XORPD","XORPS","XRSTOR","XRSTOR64" + ,"XSAVE","XSAVE64","XSAVEOPT","XSAVEOPT64","XSETBV","XTEST" }; -unsigned short x86_64_families[1354] = { - FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO - ,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_SET,FM_CLR,FM_SCAN,FM_SCAN,FM_BSWAP - ,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_CLR,FM_CALL,FM_CVT,FM_CLR,FM_CLR,FM_HW - ,FM_OS,FM_CVT,FM_CVT,FM_OS,FM_ENV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV +unsigned short x86_64_families[1357] = { + FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_CRYPTO + ,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND + ,FM_AND,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_SET,FM_CLR,FM_SCAN + ,FM_SCAN,FM_BSWAP,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_CLR,FM_CALL,FM_CVT,FM_CLR + ,FM_CLR,FM_HW,FM_OS,FM_CVT,FM_CVT,FM_OS,FM_ENV,FM_CMOV,FM_CMOV,FM_CMOV ,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV ,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV - ,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP - ,FM_CMP,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMP,FM_CMP,FM_INFO,FM_CVT,FM_HASH,FM_CVT + ,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMP,FM_CMP,FM_CMP + ,FM_CMP,FM_CMP,FM_CMP,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMP,FM_CMP,FM_INFO,FM_CVT + ,FM_HASH,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_CVT,FM_CVT,FM_DEC,FM_DIV,FM_DIV,FM_DIV,FM_DIV,FM_DIV,FM_OTHER_ARITH - ,FM_OTHER_ARITH,FM_SET,FM_STACK_INIT,FM_MERGE,FM_OTHER_ARITH,FM_ABS,FM_ADD,FM_ADD,FM_CVT,FM_CVT - ,FM_NEG,FM_ENV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV - ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_COS,FM_STACK_ROT,FM_DIV,FM_DIV,FM_DIV - ,FM_DIV,FM_ENV,FM_ENV,FM_ADD,FM_CMP,FM_CMP,FM_DIV,FM_DIV,FM_CVT,FM_MUL - ,FM_STACK_ROT,FM_ENV,FM_CVT,FM_CVT,FM_CVT,FM_SUB,FM_SUB,FM_PUSH,FM_PUSH,FM_ENV - ,FM_ENV,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_MUL,FM_MUL,FM_ENV - ,FM_ENV,FM_NOP,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_ATAN,FM_REM,FM_REM,FM_TAN - ,FM_RND,FM_ENV,FM_ENV,FM_OTHER_ARITH,FM_SIN,FM_OTHER_MATH,FM_SQRT,FM_MOV,FM_ENV,FM_ENV - ,FM_MOV,FM_ENV,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_CMP,FM_CMP,FM_CMP,FM_CMP - ,FM_CMP,FM_CMP,FM_ENV,FM_UNDEF,FM_XCHG,FM_ENV,FM_ENV,FM_MERGE,FM_OTHER_MATH,FM_OTHER_MATH - ,FM_OS,FM_ADD,FM_ADD,FM_OS,FM_SUB,FM_SUB,FM_DIV,FM_MUL,FM_IN,FM_INC - ,FM_IN,FM_MERGE,FM_OS,FM_HW,FM_HW,FM_HW,FM_HW,FM_HW,FM_OS,FM_OS - ,FM_OS,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP - ,FM_CJUMP,FM_CJUMP,FM_JUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP + ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_DEC,FM_DIV,FM_DIV,FM_DIV,FM_DIV + ,FM_DIV,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_SET,FM_STACK_INIT,FM_MERGE,FM_OTHER_ARITH,FM_ABS,FM_ADD,FM_ADD + ,FM_CVT,FM_CVT,FM_NEG,FM_ENV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV,FM_CMOV + ,FM_CMOV,FM_CMOV,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_COS,FM_STACK_ROT,FM_DIV + ,FM_DIV,FM_DIV,FM_DIV,FM_ENV,FM_ENV,FM_ADD,FM_CMP,FM_CMP,FM_DIV,FM_DIV + ,FM_CVT,FM_MUL,FM_STACK_ROT,FM_ENV,FM_CVT,FM_CVT,FM_CVT,FM_SUB,FM_SUB,FM_PUSH + ,FM_PUSH,FM_ENV,FM_ENV,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_MUL + ,FM_MUL,FM_ENV,FM_ENV,FM_NOP,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_ATAN,FM_REM + ,FM_REM,FM_TAN,FM_RND,FM_ENV,FM_ENV,FM_OTHER_ARITH,FM_SIN,FM_OTHER_MATH,FM_SQRT,FM_MOV + ,FM_ENV,FM_ENV,FM_MOV,FM_ENV,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_CMP,FM_CMP + ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_ENV,FM_UNDEF,FM_XCHG,FM_ENV,FM_ENV,FM_MERGE + ,FM_OTHER_MATH,FM_OTHER_MATH,FM_OS,FM_ADD,FM_ADD,FM_OS,FM_SUB,FM_SUB,FM_DIV,FM_MUL + ,FM_IN,FM_INC,FM_IN,FM_MERGE,FM_OS,FM_HW,FM_HW,FM_HW,FM_HW,FM_HW + ,FM_OS,FM_OS,FM_OS,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP + ,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_JUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP ,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP - ,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_AND,FM_AND - ,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_NOT,FM_NOT,FM_NOT,FM_NOT,FM_OR,FM_OR,FM_OR,FM_CMP,FM_CMP,FM_CMP - ,FM_CMP,FM_OR,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT - ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_OR,FM_OR,FM_OR - ,FM_OR,FM_OR,FM_OR,FM_OR,FM_OR,FM_ENV,FM_CALL,FM_LOAD,FM_ENV,FM_LEA - ,FM_STACK_RELEASE,FM_HW,FM_LOAD,FM_ENV,FM_LOAD,FM_ENV,FM_JUMP,FM_ENV,FM_ENV,FM_MOV - ,FM_LOOP,FM_LOOP,FM_LOOP,FM_LOOP,FM_LOOP,FM_RET,FM_INFO,FM_LOAD,FM_ENV,FM_CNT - ,FM_MMOV,FM_MMOV,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_HW,FM_MIN,FM_MIN,FM_MIN - ,FM_MIN,FM_SYNC,FM_MOV,FM_MOV,FM_MOV,FM_BSWAP,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MASK,FM_MASK,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_DSP,FM_MUL,FM_MUL - ,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_SYNC,FM_NEG,FM_NOP,FM_NOT,FM_OR,FM_OR - ,FM_OR,FM_OUT,FM_OUT,FM_ABS,FM_ABS,FM_ABS,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_MERGE,FM_AND - ,FM_AND,FM_HW,FM_AVG,FM_AVG,FM_AVG,FM_MERGE,FM_MERGE,FM_MUL,FM_CMP,FM_CMP + ,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_CJUMP,FM_ADD,FM_ADD,FM_ADD,FM_ADD + ,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_NOT,FM_NOT,FM_NOT,FM_NOT,FM_OR,FM_OR,FM_OR,FM_CMP + ,FM_CMP,FM_CMP,FM_CMP,FM_OR,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT + ,FM_SHIFT,FM_SHIFT,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_OR + ,FM_OR,FM_OR,FM_OR,FM_OR,FM_OR,FM_OR,FM_OR,FM_ENV,FM_CALL,FM_LOAD + ,FM_ENV,FM_LEA,FM_STACK_RELEASE,FM_HW,FM_LOAD,FM_ENV,FM_LOAD,FM_ENV,FM_JUMP,FM_ENV + ,FM_ENV,FM_MOV,FM_LOOP,FM_LOOP,FM_LOOP,FM_LOOP,FM_LOOP,FM_RET,FM_INFO,FM_LOAD + ,FM_ENV,FM_CNT,FM_MMOV,FM_MMOV,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_HW,FM_MIN + ,FM_MIN,FM_MIN,FM_MIN,FM_SYNC,FM_MOV,FM_MOV,FM_MOV,FM_BSWAP,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MASK + ,FM_MASK,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_DSP + ,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_SYNC,FM_NEG,FM_NOP,FM_NOT + ,FM_OR,FM_OR,FM_OR,FM_OUT,FM_OUT,FM_ABS,FM_ABS,FM_ABS,FM_CVT,FM_CVT + ,FM_CVT,FM_CVT,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD + ,FM_MERGE,FM_AND,FM_AND,FM_HW,FM_AVG,FM_AVG,FM_AVG,FM_MERGE,FM_MERGE,FM_MUL ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP - ,FM_OTHER_LOGIC,FM_OTHER_LOGIC,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_CVT,FM_CVT,FM_ADD,FM_ADD - ,FM_CMP,FM_CMP,FM_CMP,FM_MAX,FM_MIN,FM_MUL,FM_SUB,FM_SUB,FM_RCP,FM_RCP - ,FM_RCP,FM_RSQRT,FM_RSQRT,FM_SUB,FM_SUB,FM_ADD,FM_ADD,FM_ADD,FM_MIN,FM_SUB - ,FM_SUB,FM_SUB,FM_CVT,FM_CVT,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_OTHER_ARITH,FM_OTHER_ARITH - ,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MIN,FM_MIN,FM_MIN,FM_MIN - ,FM_MIN,FM_MIN,FM_MASK,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL - ,FM_MUL,FM_MUL,FM_MUL,FM_POP,FM_CNT,FM_POP,FM_POP,FM_OR,FM_PREFETCH,FM_PREFETCH - ,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_DSP,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_NEG - ,FM_NEG,FM_NEG,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT - ,FM_SHIFT,FM_SHIFT,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB - ,FM_SHUFFLE,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE - ,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_XOR,FM_ROT,FM_RCP,FM_RCP,FM_ROT,FM_LOAD - ,FM_LOAD,FM_ENV,FM_ENV,FM_RAND,FM_INFO,FM_INFO,FM_CMP,FM_CMP,FM_CMP,FM_CMP - ,FM_IN,FM_MOV,FM_MOV,FM_OUT,FM_MOV,FM_RET,FM_ROT,FM_ROT,FM_ROT,FM_RND - ,FM_RND,FM_RND,FM_RND,FM_OS,FM_RSQRT,FM_RSQRT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SUB - ,FM_CMP,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET + ,FM_CMP,FM_CMP,FM_OTHER_LOGIC,FM_OTHER_LOGIC,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_CVT,FM_CVT + ,FM_ADD,FM_ADD,FM_CMP,FM_CMP,FM_CMP,FM_MAX,FM_MIN,FM_MUL,FM_SUB,FM_SUB + ,FM_RCP,FM_RCP,FM_RCP,FM_RSQRT,FM_RSQRT,FM_SUB,FM_SUB,FM_ADD,FM_ADD,FM_ADD + ,FM_MIN,FM_SUB,FM_SUB,FM_SUB,FM_CVT,FM_CVT,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE + ,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MIN,FM_MIN + ,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_MASK,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MUL,FM_MUL,FM_MUL + ,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_POP,FM_CNT,FM_POP,FM_POP,FM_OR + ,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_DSP,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE + ,FM_SHUFFLE,FM_NEG,FM_NEG,FM_NEG,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT + ,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB + ,FM_SUB,FM_SUB,FM_SHUFFLE,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE + ,FM_MERGE,FM_MERGE,FM_PUSH,FM_PUSH,FM_PUSH,FM_PUSH,FM_XOR,FM_ROT,FM_RCP,FM_RCP + ,FM_ROT,FM_LOAD,FM_LOAD,FM_ENV,FM_ENV,FM_RAND,FM_CRYPTO,FM_INFO,FM_INFO,FM_CMP + ,FM_CMP,FM_CMP,FM_CMP,FM_IN,FM_MOV,FM_MOV,FM_OUT,FM_MOV,FM_RET,FM_ROT + ,FM_ROT,FM_ROT,FM_RND,FM_RND,FM_RND,FM_RND,FM_OS,FM_RSQRT,FM_RSQRT,FM_SHIFT + ,FM_SHIFT,FM_SHIFT,FM_SUB,FM_CMP,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET ,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET ,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET,FM_SET - ,FM_SET,FM_HW,FM_ENV,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHUFFLE - ,FM_SHUFFLE,FM_ENV,FM_ENV,FM_ENV,FM_SQRT,FM_SQRT,FM_SQRT,FM_SQRT,FM_ENV,FM_ENV - ,FM_OS,FM_ENV,FM_MOV,FM_ENV,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_ENV - ,FM_OS,FM_OS,FM_OS,FM_OS,FM_CMP,FM_CNT,FM_CMP,FM_CMP,FM_UNDEF,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_MERGE,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_CRYPTO - ,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_MERGE,FM_MERGE,FM_AND,FM_AND,FM_AND - ,FM_AND,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST + ,FM_SET,FM_SET,FM_SET,FM_SET,FM_HW,FM_ENV,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT + ,FM_SHIFT,FM_SHIFT,FM_SHUFFLE,FM_SHUFFLE,FM_ENV,FM_ENV,FM_ENV,FM_SQRT,FM_SQRT,FM_SQRT + ,FM_SQRT,FM_ENV,FM_ENV,FM_OS,FM_ENV,FM_MOV,FM_ENV,FM_SUB,FM_SUB,FM_SUB + ,FM_SUB,FM_SUB,FM_ENV,FM_OS,FM_OS,FM_OS,FM_OS,FM_CMP,FM_CNT,FM_CMP + ,FM_CMP,FM_UNDEF,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_ADD,FM_ADD,FM_ADD,FM_ADD + ,FM_ADD,FM_ADD,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_CRYPTO,FM_MERGE,FM_MERGE + ,FM_AND,FM_AND,FM_AND,FM_AND,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE ,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST - ,FM_BROADCAST,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_CVT + ,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP + ,FM_MERGE,FM_MERGE,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_DSP,FM_DIV,FM_DIV,FM_DIV,FM_DIV,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_ENV,FM_ENV - ,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_FMA + ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_DSP,FM_DIV,FM_DIV,FM_DIV,FM_DIV,FM_OTHER_ARITH + ,FM_OTHER_ARITH,FM_ENV,FM_ENV,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE + ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_OTHER_ARITH,FM_OTHER_ARITH + ,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA @@ -254,61 +255,60 @@ unsigned short x86_64_families[1354] = { ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA - ,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_FMA,FM_UNDEF - ,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_GATHER,FM_GATHER,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH - ,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_GATHER,FM_GATHER,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_CVT,FM_CVT,FM_ADD,FM_ADD,FM_SUB,FM_SUB,FM_MERGE,FM_MERGE,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MOV,FM_ENV - ,FM_MMOV,FM_MMOV,FM_MMOV,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_VIRT,FM_VIRT,FM_VIRT - ,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_VIRT,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV + ,FM_FMA,FM_FMA,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_GATHER,FM_GATHER,FM_PREFETCH,FM_PREFETCH + ,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_GATHER,FM_GATHER,FM_CVT,FM_CVT + ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_ADD,FM_ADD,FM_SUB,FM_SUB + ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE + ,FM_MERGE,FM_MOV,FM_ENV,FM_MMOV,FM_MMOV,FM_MMOV,FM_MAX,FM_MAX,FM_MAX,FM_MAX + ,FM_VIRT,FM_VIRT,FM_VIRT,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_VIRT,FM_MOV,FM_MOV ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MASK,FM_MASK,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_DSP,FM_VIRT,FM_VIRT,FM_VIRT - ,FM_VIRT,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_VIRT,FM_VIRT,FM_VIRT,FM_OR,FM_OR - ,FM_ABS,FM_ABS,FM_ABS,FM_ABS,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_ADD,FM_ADD - ,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_MERGE,FM_AND,FM_AND,FM_AND - ,FM_AND,FM_AND,FM_AND,FM_AVG,FM_AVG,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_MUL,FM_CMOV - ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MASK,FM_MASK,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_DSP + ,FM_VIRT,FM_VIRT,FM_VIRT,FM_VIRT,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_VIRT,FM_VIRT + ,FM_VIRT,FM_OR,FM_OR,FM_ABS,FM_ABS,FM_ABS,FM_ABS,FM_CVT,FM_CVT,FM_CVT + ,FM_CVT,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_ADD,FM_MERGE + ,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AVG,FM_AVG,FM_MERGE,FM_MERGE + ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST,FM_BROADCAST + ,FM_BROADCAST,FM_MUL,FM_CMOV,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP - ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_CMP,FM_CMP,FM_UNDEF,FM_UNDEF + ,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_CMP + ,FM_CMP,FM_UNDEF,FM_UNDEF,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE ,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE - ,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_MERGE - ,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_GATHER,FM_GATHER,FM_GATHER,FM_GATHER,FM_ADD - ,FM_ADD,FM_ADD,FM_MIN,FM_SUB,FM_SUB,FM_SUB,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE - ,FM_CNT,FM_CNT,FM_ADD,FM_ADD,FM_MMOV,FM_MMOV,FM_MAX,FM_MAX,FM_MAX,FM_MAX - ,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_MIN - ,FM_MIN,FM_MIN,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_MASK,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_CVT,FM_CVT,FM_CVT - ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV - ,FM_MOV,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_OR - ,FM_OR,FM_OR,FM_ROT,FM_ROT,FM_ROT,FM_ROT,FM_ROT,FM_ROT,FM_ROT,FM_ROT - ,FM_DSP,FM_SCATTER,FM_SCATTER,FM_SCATTER,FM_SCATTER,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_NEG - ,FM_NEG,FM_NEG,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT + ,FM_SHUFFLE,FM_SHUFFLE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_GATHER,FM_GATHER + ,FM_GATHER,FM_GATHER,FM_ADD,FM_ADD,FM_ADD,FM_MIN,FM_SUB,FM_SUB,FM_SUB,FM_MERGE + ,FM_MERGE,FM_MERGE,FM_MERGE,FM_CNT,FM_CNT,FM_ADD,FM_ADD,FM_MMOV,FM_MMOV,FM_MAX + ,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MAX,FM_MIN,FM_MIN,FM_MIN + ,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_MIN,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT + ,FM_CVT,FM_CVT,FM_CVT,FM_MASK,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT + ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MOV + ,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_CVT,FM_MOV,FM_MOV + ,FM_MOV,FM_MOV,FM_MOV,FM_MOV,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL,FM_MUL + ,FM_MUL,FM_MUL,FM_OR,FM_OR,FM_OR,FM_ROT,FM_ROT,FM_ROT,FM_ROT,FM_ROT + ,FM_ROT,FM_ROT,FM_ROT,FM_DSP,FM_SCATTER,FM_SCATTER,FM_SCATTER,FM_SCATTER,FM_SHUFFLE,FM_SHUFFLE + ,FM_SHUFFLE,FM_SHUFFLE,FM_NEG,FM_NEG,FM_NEG,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT ,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT - ,FM_SHIFT,FM_SHIFT,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB - ,FM_UNDEF,FM_UNDEF,FM_CMP,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND,FM_AND - ,FM_AND,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_XOR - ,FM_XOR,FM_XOR,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_RCP,FM_RCP,FM_RCP,FM_RCP - ,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_RND - ,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RSQRT,FM_RSQRT,FM_RSQRT - ,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_OTHER_ARITH - ,FM_OTHER_ARITH,FM_SCATTER,FM_SCATTER,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH - ,FM_PREFETCH,FM_SCATTER,FM_SCATTER,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SQRT - ,FM_SQRT,FM_SQRT,FM_SQRT,FM_ENV,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_CMP,FM_CMP - ,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_XOR,FM_XOR,FM_CLR,FM_CLR - ,FM_HW,FM_HW,FM_LOAD,FM_LOAD,FM_ENV,FM_TM,FM_ADD,FM_TM,FM_XCHG,FM_TM - ,FM_ENV,FM_LOAD,FM_XOR,FM_XOR,FM_XOR,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_ENV - ,FM_ENV,FM_ENV,FM_TM + ,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SHIFT,FM_SUB,FM_SUB,FM_SUB,FM_SUB,FM_SUB + ,FM_SUB,FM_SUB,FM_SUB,FM_UNDEF,FM_UNDEF,FM_CMP,FM_AND,FM_AND,FM_AND,FM_AND + ,FM_AND,FM_AND,FM_AND,FM_AND,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE + ,FM_MERGE,FM_MERGE,FM_XOR,FM_XOR,FM_XOR,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_UNDEF,FM_RCP + ,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_RCP,FM_UNDEF + ,FM_UNDEF,FM_UNDEF,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND,FM_RND + ,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT,FM_RSQRT + ,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_OTHER_ARITH,FM_SCATTER,FM_SCATTER,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH + ,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_PREFETCH,FM_SCATTER,FM_SCATTER,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE,FM_SHUFFLE + ,FM_SHUFFLE,FM_SHUFFLE,FM_SQRT,FM_SQRT,FM_SQRT,FM_SQRT,FM_ENV,FM_SUB,FM_SUB,FM_SUB + ,FM_SUB,FM_CMP,FM_CMP,FM_CMP,FM_CMP,FM_MERGE,FM_MERGE,FM_MERGE,FM_MERGE,FM_XOR + ,FM_XOR,FM_CLR,FM_CLR,FM_HW,FM_HW,FM_LOAD,FM_LOAD,FM_ENV,FM_TM,FM_ADD + ,FM_TM,FM_XCHG,FM_TM,FM_ENV,FM_LOAD,FM_XOR,FM_XOR,FM_XOR,FM_ENV,FM_ENV + ,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_ENV,FM_TM }; -unsigned int x86_64_dflt_anno[1354] = { +unsigned int x86_64_dflt_anno[1357] = { A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA,A_NA,A_NA,A_CALL,A_NA,A_NA,A_NA,A_NA + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_CALL,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA @@ -328,18 +328,18 @@ unsigned int x86_64_dflt_anno[1354] = { ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_JRET,A_JRET - ,A_JRET,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND - ,A_JCOND,A_JCOND,A_JUMP,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA + ,A_JRET,A_JRET,A_JRET,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND + ,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JUMP,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND ,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND - ,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA + ,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_CALL,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_JUMP,A_NA,A_NA,A_NA - ,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JRET,A_NA,A_NA,A_NA,A_NA + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_CALL,A_NA + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_JUMP,A_NA + ,A_NA,A_NA,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JCOND,A_JRET,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA @@ -364,7 +364,7 @@ unsigned int x86_64_dflt_anno[1354] = { ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA,A_NA,A_NA,A_JRET,A_NA,A_NA,A_NA,A_NA + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_JRET,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA @@ -440,22 +440,22 @@ unsigned int x86_64_dflt_anno[1354] = { ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA - ,A_NA,A_NA,A_NA + ,A_NA,A_NA,A_NA,A_NA,A_NA,A_NA }; -unsigned int x86_64_simd[1354] = { - S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO - ,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO +unsigned int x86_64_simd[1357] = { + S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES + ,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES + ,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES - ,S_YES,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_YES - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES + ,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_NO + ,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_NO,S_NO,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_YES,S_NO,S_NO,S_YES,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO @@ -465,8 +465,8 @@ unsigned int x86_64_simd[1354] = { ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_YES,S_YES,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES,S_YES,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO @@ -475,42 +475,43 @@ unsigned int x86_64_simd[1354] = { ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES - ,S_YES,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES + ,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES + ,S_YES,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES - ,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES,S_NO,S_YES - ,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES - ,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO + ,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES + ,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_YES,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_YES + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_NO,S_NO,S_NO,S_NO,S_YES,S_NO,S_YES,S_YES,S_NO,S_NO + ,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_YES,S_NO,S_YES,S_YES ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES - ,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES - ,S_YES,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_YES + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES + ,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES + ,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES + ,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES @@ -520,7 +521,7 @@ unsigned int x86_64_simd[1354] = { ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO + ,S_YES,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES @@ -534,14 +535,13 @@ unsigned int x86_64_simd[1354] = { ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO - ,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO - ,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_YES,S_YES,S_NO,S_NO + ,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES @@ -574,71 +574,71 @@ unsigned int x86_64_simd[1354] = { ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES + ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_NO,S_YES,S_YES,S_YES ,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES,S_YES - ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO - ,S_NO,S_NO,S_NO + ,S_YES,S_YES,S_YES,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_YES,S_YES,S_NO,S_NO + ,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO }; -unsigned char x86_64_noprnd_min[1354] = { - 2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,2,2,2,2,3,1,0,0,0,1,0,0,0,0,0,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,3,3,2,1,1,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,2,3,3,0,2,3,0,0,1,2,1,1,0,0,2,2,2,2,2,2,2,2,1,2,2,1,0,0,0,1,2,1 - ,2,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,2,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1 - ,1,1,1,2,1,2,0,1,2,2,1,0,0,0,1,1,1,0,0,0,0,2,2,0,2,2,1,1,2,1,2,3,1,0,2,1,2,2,0,0,0,1,1,1,1,1,1,1,1,1 - ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,2,2,2 - ,2,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,1,2,1,2,0,0,2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2 - ,2,2,2,2,2,2,0,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,2 - ,2,2,2,3,0,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,0,2,2,2,3,3,3,2,2,2,2,3,3,2,2,2,2,3,3 - ,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,0,0,2,1,1,1,1,1,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1,2,2,2,2,2,1,1,0,0,1,0,0,2,1,2,1,2,2,2,2,1,0,2,2,3,3 - ,3,3,3,0,2,2,2,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,3,3,2,3,3,3 - ,3,1,1,1,2,2,2,2,0,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,2,2,2,2,0,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,3,4,4,3,3,3 - ,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,3,2,3,3 - ,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,4,4,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3 - ,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,3,3,3 - ,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,2,2,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3 - ,3,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,2,1,2,3,3,3,3,3,3,0,1,0,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2 - ,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,1,1,2,0,3,3,3,3,2,0,1,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3 - ,3,3,3,3,3,4,3,3,3,3,4,4,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2,2,4,4,2,2,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,2,2,2,2,3 - ,3,3,2,3,3,3,4,4,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,4,4,4,4,2,2,3,3,2,2,3,3,2,3,3,3,4,3,3,4,4,3,3,4,4,2,2,3,3,2,2,3,3,2,3,3,3,3,3,2,2,1,1,1,1,1,1,1 - ,1,2,2,4,4,4,4,4,4,2,2,3,3,1,3,3,3,3,2,2,2,2,3,3,3,3,3,3,0,0,0,0,1,1,0,1,2,1,2,0,0,1,2,2,2,1,1,1,1,1 - ,1,0,0 +unsigned char x86_64_noprnd_min[1357] = { + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,2,2,2,2,3,1,0,0,0,1,0,0,0,0,0,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,3,3,2,1,1,2,2,0,0,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,2,3,3,0,2,3,0,0,1,2,1,1,0,0,2,2,2,2,2,2,2,2,1,2,2,1,0,0,0,1 + ,2,1,2,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,2,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1 + ,1,1,1,1,1,2,1,2,0,1,2,2,1,0,0,0,1,1,1,0,0,0,0,2,2,0,2,2,1,1,2,1,2,3,1,0,2,1,2,2,0,0,0,1,1,1,1,1,1,1 + ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,2 + ,2,2,2,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,1,2,1,2,0,0,2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2 + ,1,2,2,2,2,2,2,2,0,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 + ,1,2,2,2,2,3,0,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,0,2,2,2,3,3,3,2,2,2,2,3,3,2,2,2,2 + ,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,0,0,2,1,1,1,1,1,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1,2,2,2,2,2,1,1,0,0,1,1,0,0,2,1,2,1,2,2,2,2,1,0,2 + ,2,3,3,3,3,3,0,2,2,2,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,3,3,2 + ,3,3,3,3,1,1,1,2,2,2,2,0,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,2,2,2,2,0,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,3,4,4 + ,3,3,3,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,3 + ,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,4,4,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4 + ,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4 + ,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,2,2,1,1,1,1,1,1,1,1,2,2,2,2 + ,3,3,3,3,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,2,1,2,3,3,3,3,3,3,0,1,0,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2,2 + ,3,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,1,1,2,0,3,3,3,3,2,0,1,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4 + ,3,3,3,3,3,3,3,3,4,3,3,3,3,4,4,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2,2,4,4,2,2,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,2,2 + ,2,2,3,3,3,2,3,3,3,4,4,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,4,4,4,4,2,2,3,3,2,2,3,3,2,3,3,3,4,3,3,4,4,3,3,4,4,2,2,3,3,2,2,3,3,2,3,3,3,3,3,2,2,1,1,1,1 + ,1,1,1,1,2,2,4,4,4,4,4,4,2,2,3,3,1,3,3,3,3,2,2,2,2,3,3,3,3,3,3,0,0,0,0,1,1,0,1,2,1,2,0,0,1,2,2,2,1,1 + ,1,1,1,1,0,0 }; -unsigned char x86_64_noprnd_max[1354] = { - 2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,2,2,2,2,3,1,0,0,0,1,0,0,0,0,0,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,3,3,2,1,1,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,2,3,3,0,2,3,0,0,2,2,1,1,0,0,2,2,2,2,2,2,2,2,1,2,2,1,0,0,0,2,2,2 - ,2,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,2,2,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1 - ,1,1,2,2,2,2,0,1,2,2,1,0,0,0,1,1,1,0,0,0,0,2,2,0,2,2,1,3,2,1,2,3,1,0,2,1,2,2,0,0,0,1,1,1,1,1,1,1,1,1 - ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,2,2,2 - ,2,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,1,2,1,2,0,0,2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2 - ,2,2,2,2,2,2,0,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,2 - ,2,2,2,3,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,0,2,2,2,3,3,3,2,2,2,2,3,3,2,2,2,2,3,3 - ,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,0,0,2,1,1,1,1,1,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1,2,2,2,2,2,1,1,0,0,1,0,0,2,1,2,1,2,2,2,2,1,1,2,2,3,3 - ,3,3,3,0,2,2,2,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,3,3,2,3,3,3 - ,3,1,1,1,2,2,2,2,0,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,2,2,2,2,0,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,3,4,4,3,3,3 - ,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,3,2,3,3 - ,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,4,4,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3 - ,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,3,3,3 - ,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,1,1,1,1,1,1,1,1,3,3,2,2,3,3,3 - ,3,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,2,1,2,3,3,3,3,3,3,0,1,0,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3 - ,3,3,3,2,2,2,2,2,2,2,3,2,2,3,2,2,4,1,1,2,0,3,3,3,3,2,0,1,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3 - ,3,3,3,3,3,4,3,3,3,3,4,4,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2,2,4,4,2,2,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3 - ,3,3,2,3,3,3,4,4,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,4,4,4,4,2,2,3,3,2,2,3,3,2,3,3,3,4,3,3,4,4,3,3,4,4,2,2,3,3,2,2,3,3,2,3,3,3,3,3,2,2,1,1,1,1,1,1,1 - ,1,2,2,4,4,4,4,4,4,2,2,3,3,1,3,3,3,3,2,2,2,2,3,3,3,3,3,3,0,0,0,0,1,1,0,1,2,1,2,0,0,1,2,2,2,1,1,1,1,1 - ,1,0,0 +unsigned char x86_64_noprnd_max[1357] = { + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,2,2,2,2,3,1,0,0,0,1,0,0,0,0,0,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,3,3,2,1,1,2,2,0,0,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,2,2,2,2,3,3,0,2,3,0,0,2,2,1,1,0,0,2,2,2,2,2,2,2,2,1,2,2,1,0,0,0,2 + ,2,2,2,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,2,2,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1 + ,1,1,1,1,2,2,2,2,0,1,2,2,1,0,0,0,1,1,1,0,0,0,0,2,2,0,2,2,1,3,2,1,2,3,1,0,2,1,2,2,0,0,0,1,1,1,1,1,1,1 + ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,2 + ,2,2,2,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,1,2,1,2,0,0,2,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2 + ,1,2,2,2,2,2,2,2,0,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 + ,1,2,2,2,2,3,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,0,2,2,2,3,3,3,2,2,2,2,3,3,2,2,2,2 + ,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,0,0,2,1,1,1,1,1,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,1,2,2,2,2,2,1,1,0,0,1,1,0,0,2,1,2,1,2,2,2,2,1,1,2 + ,2,3,3,3,3,3,0,2,2,2,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,3,3,2 + ,3,3,3,3,1,1,1,2,2,2,2,0,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,2,2,2,2,0,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,3,4,4 + ,3,3,3,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,3 + ,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,4,4,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4 + ,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4 + ,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,1,1,1,1,1,1,1,1,3,3,2,2 + ,3,3,3,3,4,4,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,2,1,2,3,3,3,3,3,3,0,1,0,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2,2 + ,3,3,3,3,3,3,2,2,2,2,2,2,2,3,2,2,3,2,2,4,1,1,2,0,3,3,3,3,2,0,1,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4 + ,3,3,3,3,3,3,3,3,4,3,3,3,3,4,4,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2,2,4,4,2,2,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3 + ,3,3,3,3,3,2,3,3,3,4,4,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,4,4,4,4,2,2,3,3,2,2,3,3,2,3,3,3,4,3,3,4,4,3,3,4,4,2,2,3,3,2,2,3,3,2,3,3,3,3,3,2,2,1,1,1,1 + ,1,1,1,1,2,2,4,4,4,4,4,4,2,2,3,3,1,3,3,3,3,2,2,2,2,3,3,3,3,3,3,0,0,0,0,1,1,0,1,2,1,2,0,0,1,2,2,2,1,1 + ,1,1,1,1,0,0 }; char* x86_64_pref_suff[7] = {NULL,"LOCK","REP","REPE","REPNE","REPNZ","REPZ"}; char* x86_64_reg_names_0[] = {"","","","","AH","CH","DH","BH",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; @@ -882,10 +882,11 @@ reg_t* x86_64_return_regs[6] = { reg_t* x86_64_arg_regs[17] = { &x86_64_reg_4_0, &x86_64_reg_4_1, &x86_64_reg_4_2, &x86_64_reg_4_6, &x86_64_reg_4_7, &x86_64_reg_4_8, &x86_64_reg_4_9, &x86_64_reg_4_10, &x86_64_reg_4_11, &x86_64_reg_5_0, &x86_64_reg_5_1, &x86_64_reg_5_2, &x86_64_reg_5_3, &x86_64_reg_5_4, &x86_64_reg_5_5, &x86_64_reg_5_6, &x86_64_reg_5_7 }; -char* x86_64_iset_names[37] = {"", +char* x86_64_iset_names[39] = {"", "3DNow", "8086", "8087", + "ADX", "AES", "AES_AVX", "AVX", @@ -908,6 +909,7 @@ char* x86_64_iset_names[37] = {"", "LZCNT", "MMX", "RDRAND", + "RDSEED", "RTM", "SMX", "SSE", @@ -920,758 +922,759 @@ char* x86_64_iset_names[37] = {"", "XOP", "XSAVEOPT" }; -int16_t x86_64_variants_opcodes[6238] = {BAD_INSN_CODE,I_ADC +int16_t x86_64_variants_opcodes[6249] = {BAD_INSN_CODE,I_ADCX + ,I_ADCX,I_ADCX,I_ADCX,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC ,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC ,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC - ,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADC,I_ADDPD - ,I_ADDPD,I_ADDPS,I_ADDPS,I_ADDSD,I_ADDSD,I_ADDSS,I_ADDSS,I_ADDSUBPD,I_ADDSUBPD,I_ADDSUBPS - ,I_ADDSUBPS,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD + ,I_ADC,I_ADC,I_ADC,I_ADDPD,I_ADDPD,I_ADDPS,I_ADDPS,I_ADDSD,I_ADDSD,I_ADDSS + ,I_ADDSS,I_ADDSUBPD,I_ADDSUBPD,I_ADDSUBPS,I_ADDSUBPS,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD + ,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD ,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD - ,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_ADD,I_AESDECLAST - ,I_AESDECLAST,I_AESDEC,I_AESDEC,I_AESENCLAST,I_AESENCLAST,I_AESENC,I_AESENC,I_AESIMC,I_AESIMC,I_AESKEYGENASSIST - ,I_AESKEYGENASSIST,I_ANDNPD,I_ANDNPD,I_ANDNPS,I_ANDNPS,I_ANDN,I_ANDN,I_ANDN,I_ANDN,I_ANDPD - ,I_ANDPD,I_ANDPS,I_ANDPS,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND + ,I_ADD,I_ADD,I_ADD,I_ADOX,I_ADOX,I_ADOX,I_ADOX,I_AESDECLAST,I_AESDECLAST,I_AESDEC + ,I_AESDEC,I_AESENCLAST,I_AESENCLAST,I_AESENC,I_AESENC,I_AESIMC,I_AESIMC,I_AESKEYGENASSIST,I_AESKEYGENASSIST,I_ANDNPD + ,I_ANDNPD,I_ANDNPS,I_ANDNPS,I_ANDN,I_ANDN,I_ANDN,I_ANDN,I_ANDPD,I_ANDPD,I_ANDPS + ,I_ANDPS,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND ,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND ,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND,I_AND - ,I_AND,I_AND,I_AND,I_AND,I_BEXTR,I_BEXTR,I_BEXTR,I_BEXTR,I_BLENDPD,I_BLENDPD - ,I_BLENDPS,I_BLENDPS,I_BLENDVPD,I_BLENDVPD,I_BLENDVPS,I_BLENDVPS,I_BLSI,I_BLSI,I_BLSI,I_BLSI - ,I_BLSMSK,I_BLSMSK,I_BLSMSK,I_BLSMSK,I_BLSR,I_BLSR,I_BLSR,I_BLSR,I_BSF,I_BSF - ,I_BSF,I_BSF,I_BSF,I_BSF,I_BSR,I_BSR,I_BSR,I_BSR,I_BSR,I_BSR - ,I_BSWAP,I_BSWAP,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC - ,I_BTC,I_BTC,I_BTC,I_BTC,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR - ,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTS,I_BTS,I_BTS,I_BTS - ,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BT,I_BT - ,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT - ,I_BZHI,I_BZHI,I_BZHI,I_BZHI,I_CALL,I_CALL,I_CALL,I_CBW,I_CLC,I_CLD - ,I_CLFLUSH,I_CLI,I_CLTD,I_CLTQ,I_CLTS,I_CMC,I_CMOVAE,I_CMOVAE,I_CMOVAE,I_CMOVAE - ,I_CMOVAE,I_CMOVAE,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVBE,I_CMOVBE - ,I_CMOVBE,I_CMOVBE,I_CMOVBE,I_CMOVBE,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB - ,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVE,I_CMOVE,I_CMOVE,I_CMOVE - ,I_CMOVE,I_CMOVE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVG,I_CMOVG - ,I_CMOVG,I_CMOVG,I_CMOVG,I_CMOVG,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE - ,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE - ,I_CMOVNAE,I_CMOVNAE,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNBE,I_CMOVNBE - ,I_CMOVNBE,I_CMOVNBE,I_CMOVNBE,I_CMOVNBE,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB - ,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNE,I_CMOVNE,I_CMOVNE,I_CMOVNE - ,I_CMOVNE,I_CMOVNE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNG,I_CMOVNG - ,I_CMOVNG,I_CMOVNG,I_CMOVNG,I_CMOVNG,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE - ,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNO,I_CMOVNO,I_CMOVNO,I_CMOVNO - ,I_CMOVNO,I_CMOVNO,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNS,I_CMOVNS - ,I_CMOVNS,I_CMOVNS,I_CMOVNS,I_CMOVNS,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ - ,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVPE,I_CMOVPE,I_CMOVPE,I_CMOVPE - ,I_CMOVPE,I_CMOVPE,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVP,I_CMOVP - ,I_CMOVP,I_CMOVP,I_CMOVP,I_CMOVP,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS - ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMPPD,I_CMPPD,I_CMPPS,I_CMPPS - ,I_CMPSD,I_CMPSD,I_CMPSS,I_CMPSS,I_CMPS,I_CMPS,I_CMPS,I_CMPS,I_CMPXCHG16B,I_CMPXCHG8B - ,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMP,I_CMP + ,I_AND,I_AND,I_BEXTR,I_BEXTR,I_BEXTR,I_BEXTR,I_BLENDPD,I_BLENDPD,I_BLENDPS,I_BLENDPS + ,I_BLENDVPD,I_BLENDVPD,I_BLENDVPS,I_BLENDVPS,I_BLSI,I_BLSI,I_BLSI,I_BLSI,I_BLSMSK,I_BLSMSK + ,I_BLSMSK,I_BLSMSK,I_BLSR,I_BLSR,I_BLSR,I_BLSR,I_BSF,I_BSF,I_BSF,I_BSF + ,I_BSF,I_BSF,I_BSR,I_BSR,I_BSR,I_BSR,I_BSR,I_BSR,I_BSWAP,I_BSWAP + ,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC,I_BTC + ,I_BTC,I_BTC,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR,I_BTR + ,I_BTR,I_BTR,I_BTR,I_BTR,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS + ,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BTS,I_BT,I_BT,I_BT,I_BT + ,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BT,I_BZHI,I_BZHI + ,I_BZHI,I_BZHI,I_CALL,I_CALL,I_CALL,I_CBW,I_CLC,I_CLD,I_CLFLUSH,I_CLI + ,I_CLTD,I_CLTQ,I_CLTS,I_CMC,I_CMOVAE,I_CMOVAE,I_CMOVAE,I_CMOVAE,I_CMOVAE,I_CMOVAE + ,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVA,I_CMOVBE,I_CMOVBE,I_CMOVBE,I_CMOVBE + ,I_CMOVBE,I_CMOVBE,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVB,I_CMOVC,I_CMOVC + ,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVC,I_CMOVE,I_CMOVE,I_CMOVE,I_CMOVE,I_CMOVE,I_CMOVE + ,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVGE,I_CMOVG,I_CMOVG,I_CMOVG,I_CMOVG + ,I_CMOVG,I_CMOVG,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVLE,I_CMOVL,I_CMOVL + ,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVL,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE,I_CMOVNAE + ,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNA,I_CMOVNBE,I_CMOVNBE,I_CMOVNBE,I_CMOVNBE + ,I_CMOVNBE,I_CMOVNBE,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNB,I_CMOVNC,I_CMOVNC + ,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNC,I_CMOVNE,I_CMOVNE,I_CMOVNE,I_CMOVNE,I_CMOVNE,I_CMOVNE + ,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNGE,I_CMOVNG,I_CMOVNG,I_CMOVNG,I_CMOVNG + ,I_CMOVNG,I_CMOVNG,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNLE,I_CMOVNL,I_CMOVNL + ,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNL,I_CMOVNO,I_CMOVNO,I_CMOVNO,I_CMOVNO,I_CMOVNO,I_CMOVNO + ,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNP,I_CMOVNS,I_CMOVNS,I_CMOVNS,I_CMOVNS + ,I_CMOVNS,I_CMOVNS,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVNZ,I_CMOVO,I_CMOVO + ,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVO,I_CMOVPE,I_CMOVPE,I_CMOVPE,I_CMOVPE,I_CMOVPE,I_CMOVPE + ,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVPO,I_CMOVP,I_CMOVP,I_CMOVP,I_CMOVP + ,I_CMOVP,I_CMOVP,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVS,I_CMOVZ,I_CMOVZ + ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMOVZ,I_CMPPD,I_CMPPD,I_CMPPS,I_CMPPS,I_CMPSD,I_CMPSD + ,I_CMPSS,I_CMPSS,I_CMPS,I_CMPS,I_CMPS,I_CMPS,I_CMPXCHG16B,I_CMPXCHG8B,I_CMPXCHG,I_CMPXCHG + ,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMPXCHG,I_CMP,I_CMP,I_CMP,I_CMP ,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP ,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP,I_CMP - ,I_CMP,I_CMP,I_CMP,I_CMP,I_COMISD,I_COMISD,I_COMISS,I_COMISS,I_CPUID,I_CQTO - ,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32 - ,I_CVTDQ2PD,I_CVTDQ2PD,I_CVTDQ2PS,I_CVTDQ2PS,I_CVTPD2DQ,I_CVTPD2DQ,I_CVTPD2PI,I_CVTPD2PI,I_CVTPD2PS,I_CVTPD2PS - ,I_CVTPI2PD,I_CVTPI2PD,I_CVTPI2PS,I_CVTPI2PS,I_CVTPS2DQ,I_CVTPS2DQ,I_CVTPS2PD,I_CVTPS2PD,I_CVTPS2PI,I_CVTPS2PI - ,I_CVTSD2SI,I_CVTSD2SI,I_CVTSD2SI,I_CVTSD2SI,I_CVTSD2SS,I_CVTSD2SS,I_CVTSI2SD,I_CVTSI2SD,I_CVTSI2SD,I_CVTSI2SD - ,I_CVTSI2SS,I_CVTSI2SS,I_CVTSI2SS,I_CVTSI2SS,I_CVTSS2SD,I_CVTSS2SD,I_CVTSS2SI,I_CVTSS2SI,I_CVTSS2SI,I_CVTSS2SI - ,I_CVTTPD2DQ,I_CVTTPD2DQ,I_CVTTPD2PI,I_CVTTPD2PI,I_CVTTPS2DQ,I_CVTTPS2DQ,I_CVTTPS2PI,I_CVTTPS2PI,I_CVTTSD2SI,I_CVTTSD2SI - ,I_CVTTSD2SI,I_CVTTSD2SI,I_CVTTSS2SI,I_CVTTSS2SI,I_CVTTSS2SI,I_CVTTSS2SI,I_CWD,I_CWTL,I_DEC,I_DEC - ,I_DEC,I_DEC,I_DEC,I_DEC,I_DEC,I_DEC,I_DIVPD,I_DIVPD,I_DIVPS,I_DIVPS - ,I_DIVSD,I_DIVSD,I_DIVSS,I_DIVSS,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV - ,I_DIV,I_DIV,I_DPPD,I_DPPD,I_DPPS,I_DPPS,I_EMMS,I_ENTER,I_EXTRACTPS,I_EXTRACTPS - ,I_F2XM1,I_FABS,I_FADDP,I_FADD,I_FADD,I_FADD,I_FADD,I_FBLD,I_FBSTP,I_FCHS - ,I_FCLEX,I_FCMOVBE,I_FCMOVB,I_FCMOVE,I_FCMOVNBE,I_FCMOVNB,I_FCMOVNE,I_FCMOVNU,I_FCMOVU,I_FCOMIP - ,I_FCOMI,I_FCOMPP,I_FCOMP,I_FCOMP,I_FCOMP,I_FCOM,I_FCOM,I_FCOM,I_FCOS,I_FDECSTP - ,I_FDIVP,I_FDIVRP,I_FDIVR,I_FDIVR,I_FDIVR,I_FDIVR,I_FDIV,I_FDIV,I_FDIV,I_FDIV - ,I_FEMMS,I_FFREE,I_FIADD,I_FIADD,I_FICOMP,I_FICOMP,I_FICOM,I_FICOM,I_FIDIVR,I_FIDIVR - ,I_FIDIV,I_FIDIV,I_FILD,I_FILD,I_FILD,I_FIMUL,I_FIMUL,I_FINCSTP,I_FINIT,I_FISTP - ,I_FISTP,I_FISTP,I_FISTTP,I_FISTTP,I_FISTTP,I_FIST,I_FIST,I_FISUBR,I_FISUBR,I_FISUB - ,I_FISUB,I_FLD1,I_FLDCW,I_FLDENV,I_FLDENV,I_FLDL2E,I_FLDL2T,I_FLDLG2,I_FLDLN2,I_FLDPI - ,I_FLDZ,I_FLD,I_FLD,I_FLD,I_FLD,I_FMULP,I_FMUL,I_FMUL,I_FMUL,I_FMUL - ,I_FNCLEX,I_FNINIT,I_FNOP,I_FNSAVE,I_FNSAVE,I_FNSTCW,I_FNSTENV,I_FNSTENV,I_FNSTSW,I_FNSTSW - ,I_FPATAN,I_FPREM1,I_FPREM,I_FPTAN,I_FRNDINT,I_FRSTOR,I_FRSTOR,I_FSAVE,I_FSAVE,I_FSCALE - ,I_FSINCOS,I_FSIN,I_FSQRT,I_FSTCW,I_FSTENV,I_FSTENV,I_FSTP,I_FSTP,I_FSTP,I_FSTP - ,I_FSTSW,I_FSTSW,I_FST,I_FST,I_FST,I_FSUBP,I_FSUBRP,I_FSUBR,I_FSUBR,I_FSUBR - ,I_FSUBR,I_FSUB,I_FSUB,I_FSUB,I_FSUB,I_FTST,I_FUCOMIP,I_FUCOMI,I_FUCOMPP,I_FUCOMP - ,I_FUCOM,I_FWAIT,I_FXAM,I_FXCH,I_FXRSTOR,I_FXSAVE,I_FXTRACT,I_FYL2XP1,I_FYL2X,I_GETSEC - ,I_HADDPD,I_HADDPD,I_HADDPS,I_HADDPS,I_HLT,I_HSUBPD,I_HSUBPD,I_HSUBPS,I_HSUBPS,I_IDIV - ,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IMUL,I_IMUL,I_IMUL + ,I_CMP,I_CMP,I_COMISD,I_COMISD,I_COMISS,I_COMISS,I_CPUID,I_CQTO,I_CRC32,I_CRC32 + ,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CRC32,I_CVTDQ2PD,I_CVTDQ2PD + ,I_CVTDQ2PS,I_CVTDQ2PS,I_CVTPD2DQ,I_CVTPD2DQ,I_CVTPD2PI,I_CVTPD2PI,I_CVTPD2PS,I_CVTPD2PS,I_CVTPI2PD,I_CVTPI2PD + ,I_CVTPI2PS,I_CVTPI2PS,I_CVTPS2DQ,I_CVTPS2DQ,I_CVTPS2PD,I_CVTPS2PD,I_CVTPS2PI,I_CVTPS2PI,I_CVTSD2SI,I_CVTSD2SI + ,I_CVTSD2SI,I_CVTSD2SI,I_CVTSD2SS,I_CVTSD2SS,I_CVTSI2SD,I_CVTSI2SD,I_CVTSI2SD,I_CVTSI2SD,I_CVTSI2SS,I_CVTSI2SS + ,I_CVTSI2SS,I_CVTSI2SS,I_CVTSS2SD,I_CVTSS2SD,I_CVTSS2SI,I_CVTSS2SI,I_CVTSS2SI,I_CVTSS2SI,I_CVTTPD2DQ,I_CVTTPD2DQ + ,I_CVTTPD2PI,I_CVTTPD2PI,I_CVTTPS2DQ,I_CVTTPS2DQ,I_CVTTPS2PI,I_CVTTPS2PI,I_CVTTSD2SI,I_CVTTSD2SI,I_CVTTSD2SI,I_CVTTSD2SI + ,I_CVTTSS2SI,I_CVTTSS2SI,I_CVTTSS2SI,I_CVTTSS2SI,I_CWD,I_CWTL,I_DEC,I_DEC,I_DEC,I_DEC + ,I_DEC,I_DEC,I_DEC,I_DEC,I_DIVPD,I_DIVPD,I_DIVPS,I_DIVPS,I_DIVSD,I_DIVSD + ,I_DIVSS,I_DIVSS,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV,I_DIV + ,I_DPPD,I_DPPD,I_DPPS,I_DPPS,I_EMMS,I_ENTER,I_EXTRACTPS,I_EXTRACTPS,I_F2XM1,I_FABS + ,I_FADDP,I_FADD,I_FADD,I_FADD,I_FADD,I_FBLD,I_FBSTP,I_FCHS,I_FCLEX,I_FCMOVBE + ,I_FCMOVB,I_FCMOVE,I_FCMOVNBE,I_FCMOVNB,I_FCMOVNE,I_FCMOVNU,I_FCMOVU,I_FCOMIP,I_FCOMI,I_FCOMPP + ,I_FCOMP,I_FCOMP,I_FCOMP,I_FCOM,I_FCOM,I_FCOM,I_FCOS,I_FDECSTP,I_FDIVP,I_FDIVRP + ,I_FDIVR,I_FDIVR,I_FDIVR,I_FDIVR,I_FDIV,I_FDIV,I_FDIV,I_FDIV,I_FEMMS,I_FFREE + ,I_FIADD,I_FIADD,I_FICOMP,I_FICOMP,I_FICOM,I_FICOM,I_FIDIVR,I_FIDIVR,I_FIDIV,I_FIDIV + ,I_FILD,I_FILD,I_FILD,I_FIMUL,I_FIMUL,I_FINCSTP,I_FINIT,I_FISTP,I_FISTP,I_FISTP + ,I_FISTTP,I_FISTTP,I_FISTTP,I_FIST,I_FIST,I_FISUBR,I_FISUBR,I_FISUB,I_FISUB,I_FLD1 + ,I_FLDCW,I_FLDENV,I_FLDENV,I_FLDL2E,I_FLDL2T,I_FLDLG2,I_FLDLN2,I_FLDPI,I_FLDZ,I_FLD + ,I_FLD,I_FLD,I_FLD,I_FMULP,I_FMUL,I_FMUL,I_FMUL,I_FMUL,I_FNCLEX,I_FNINIT + ,I_FNOP,I_FNSAVE,I_FNSAVE,I_FNSTCW,I_FNSTENV,I_FNSTENV,I_FNSTSW,I_FNSTSW,I_FPATAN,I_FPREM1 + ,I_FPREM,I_FPTAN,I_FRNDINT,I_FRSTOR,I_FRSTOR,I_FSAVE,I_FSAVE,I_FSCALE,I_FSINCOS,I_FSIN + ,I_FSQRT,I_FSTCW,I_FSTENV,I_FSTENV,I_FSTP,I_FSTP,I_FSTP,I_FSTP,I_FSTSW,I_FSTSW + ,I_FST,I_FST,I_FST,I_FSUBP,I_FSUBRP,I_FSUBR,I_FSUBR,I_FSUBR,I_FSUBR,I_FSUB + ,I_FSUB,I_FSUB,I_FSUB,I_FTST,I_FUCOMIP,I_FUCOMI,I_FUCOMPP,I_FUCOMP,I_FUCOM,I_FWAIT + ,I_FXAM,I_FXCH,I_FXRSTOR,I_FXSAVE,I_FXTRACT,I_FYL2XP1,I_FYL2X,I_GETSEC,I_HADDPD,I_HADDPD + ,I_HADDPS,I_HADDPS,I_HLT,I_HSUBPD,I_HSUBPD,I_HSUBPS,I_HSUBPS,I_IDIV,I_IDIV,I_IDIV + ,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IDIV,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL ,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL ,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL,I_IMUL - ,I_IMUL,I_IMUL,I_IMUL,I_INC,I_INC,I_INC,I_INC,I_INC,I_INC,I_INC - ,I_INC,I_INSERTPS,I_INSERTPS,I_INS,I_INS,I_INS,I_INT,I_INVD,I_INVEPT,I_INVLPG - ,I_INVPCID,I_INVVPID,I_IN,I_IN,I_IN,I_IN,I_IN,I_IN,I_IRETL,I_IRETQ - ,I_IRET,I_JAE,I_JAE,I_JA,I_JA,I_JBE,I_JBE,I_JB,I_JB,I_JC - ,I_JC,I_JECXZ,I_JE,I_JE,I_JGE,I_JGE,I_JG,I_JG,I_JLE,I_JLE - ,I_JL,I_JL,I_JMP,I_JMP,I_JMP,I_JMP,I_JNAE,I_JNAE,I_JNA,I_JNA - ,I_JNBE,I_JNBE,I_JNB,I_JNB,I_JNC,I_JNC,I_JNE,I_JNE,I_JNGE,I_JNGE - ,I_JNG,I_JNG,I_JNLE,I_JNLE,I_JNL,I_JNL,I_JNO,I_JNO,I_JNP,I_JNP - ,I_JNS,I_JNS,I_JNZ,I_JNZ,I_JO,I_JO,I_JPE,I_JPE,I_JPO,I_JPO - ,I_JP,I_JP,I_JRCXZ,I_JS,I_JS,I_JZ,I_JZ,I_KADDB,I_KADDD,I_KADDQ - ,I_KADDW,I_KANDB,I_KANDD,I_KANDNB,I_KANDND,I_KANDNQ,I_KANDNW,I_KANDQ,I_KANDW,I_KMOVB - ,I_KMOVB,I_KMOVB,I_KMOVB,I_KMOVB,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVQ - ,I_KMOVQ,I_KMOVQ,I_KMOVQ,I_KMOVQ,I_KMOVW,I_KMOVW,I_KMOVW,I_KMOVW,I_KMOVW,I_KNOTB - ,I_KNOTD,I_KNOTQ,I_KNOTW,I_KORB,I_KORD,I_KORQ,I_KORTESTB,I_KORTESTD,I_KORTESTQ,I_KORTESTW - ,I_KORW,I_KSHIFTLB,I_KSHIFTLD,I_KSHIFTLQ,I_KSHIFTLW,I_KSHIFTRB,I_KSHIFTRD,I_KSHIFTRQ,I_KSHIFTRW,I_KTESTB - ,I_KTESTD,I_KTESTQ,I_KTESTW,I_KUNPCKBW,I_KUNPCKDQ,I_KUNPCKWD,I_KXNORB,I_KXNORD,I_KXNORQ,I_KXNORW - ,I_KXORB,I_KXORD,I_KXORQ,I_KXORW,I_LAR,I_LAR,I_LAR,I_LAR,I_LAR,I_LAR - ,I_LCALL,I_LCALL,I_LDDQU,I_LDMXCSR,I_LEAVE,I_LEAVE,I_LEA,I_LEA,I_LEA,I_LFENCE - ,I_LFS,I_LFS,I_LFS,I_LGDT,I_LGS,I_LGS,I_LGS,I_LIDT,I_LJMP,I_LJMP - ,I_LJMP,I_LLDT,I_LLDT,I_LMSW,I_LMSW,I_LODS,I_LODS,I_LODS,I_LODS,I_LOOPE - ,I_LOOPNE,I_LOOPNZ,I_LOOPZ,I_LOOP,I_LRET,I_LSL,I_LSL,I_LSL,I_LSL,I_LSL - ,I_LSL,I_LSS,I_LSS,I_LSS,I_LTR,I_LTR,I_LZCNT,I_LZCNT,I_LZCNT,I_LZCNT - ,I_LZCNT,I_LZCNT,I_MASKMOVDQU,I_MASKMOVQ,I_MAXPD,I_MAXPD,I_MAXPS,I_MAXPS,I_MAXSD,I_MAXSD - ,I_MAXSS,I_MAXSS,I_MFENCE,I_MINPD,I_MINPD,I_MINPS,I_MINPS,I_MINSD,I_MINSD,I_MINSS - ,I_MINSS,I_MONITOR,I_MOVAPD,I_MOVAPD,I_MOVAPD,I_MOVAPS,I_MOVAPS,I_MOVAPS,I_MOVBE,I_MOVBE - ,I_MOVBE,I_MOVBE,I_MOVBE,I_MOVBE,I_MOVDDUP,I_MOVDDUP,I_MOVDQ2Q,I_MOVDQA,I_MOVDQA,I_MOVDQA - ,I_MOVDQU,I_MOVDQU,I_MOVDQU,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD - ,I_MOVD,I_MOVHLPS,I_MOVHPD,I_MOVHPD,I_MOVHPS,I_MOVHPS,I_MOVLHPS,I_MOVLPD,I_MOVLPD,I_MOVLPS - ,I_MOVLPS,I_MOVMSKPD,I_MOVMSKPD,I_MOVMSKPS,I_MOVMSKPS,I_MOVNTDQA,I_MOVNTDQ,I_MOVNTI,I_MOVNTI,I_MOVNTPD - ,I_MOVNTPS,I_MOVNTQ,I_MOVQ2DQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ - ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVSD,I_MOVSD,I_MOVSD,I_MOVSHDUP,I_MOVSHDUP,I_MOVSLDUP,I_MOVSLDUP - ,I_MOVSS,I_MOVSS,I_MOVSS,I_MOVSXD,I_MOVSXD,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX - ,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVS,I_MOVS,I_MOVS,I_MOVS,I_MOVUPD - ,I_MOVUPD,I_MOVUPD,I_MOVUPS,I_MOVUPS,I_MOVUPS,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX - ,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV - ,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV + ,I_IMUL,I_INC,I_INC,I_INC,I_INC,I_INC,I_INC,I_INC,I_INC,I_INSERTPS + ,I_INSERTPS,I_INS,I_INS,I_INS,I_INT,I_INVD,I_INVEPT,I_INVLPG,I_INVPCID,I_INVVPID + ,I_IN,I_IN,I_IN,I_IN,I_IN,I_IN,I_IRETL,I_IRETQ,I_IRET,I_JAE + ,I_JAE,I_JA,I_JA,I_JBE,I_JBE,I_JB,I_JB,I_JC,I_JC,I_JECXZ + ,I_JE,I_JE,I_JGE,I_JGE,I_JG,I_JG,I_JLE,I_JLE,I_JL,I_JL + ,I_JMP,I_JMP,I_JMP,I_JMP,I_JNAE,I_JNAE,I_JNA,I_JNA,I_JNBE,I_JNBE + ,I_JNB,I_JNB,I_JNC,I_JNC,I_JNE,I_JNE,I_JNGE,I_JNGE,I_JNG,I_JNG + ,I_JNLE,I_JNLE,I_JNL,I_JNL,I_JNO,I_JNO,I_JNP,I_JNP,I_JNS,I_JNS + ,I_JNZ,I_JNZ,I_JO,I_JO,I_JPE,I_JPE,I_JPO,I_JPO,I_JP,I_JP + ,I_JRCXZ,I_JS,I_JS,I_JZ,I_JZ,I_KADDB,I_KADDD,I_KADDQ,I_KADDW,I_KANDB + ,I_KANDD,I_KANDNB,I_KANDND,I_KANDNQ,I_KANDNW,I_KANDQ,I_KANDW,I_KMOVB,I_KMOVB,I_KMOVB + ,I_KMOVB,I_KMOVB,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVD,I_KMOVQ,I_KMOVQ,I_KMOVQ + ,I_KMOVQ,I_KMOVQ,I_KMOVW,I_KMOVW,I_KMOVW,I_KMOVW,I_KMOVW,I_KNOTB,I_KNOTD,I_KNOTQ + ,I_KNOTW,I_KORB,I_KORD,I_KORQ,I_KORTESTB,I_KORTESTD,I_KORTESTQ,I_KORTESTW,I_KORW,I_KSHIFTLB + ,I_KSHIFTLD,I_KSHIFTLQ,I_KSHIFTLW,I_KSHIFTRB,I_KSHIFTRD,I_KSHIFTRQ,I_KSHIFTRW,I_KTESTB,I_KTESTD,I_KTESTQ + ,I_KTESTW,I_KUNPCKBW,I_KUNPCKDQ,I_KUNPCKWD,I_KXNORB,I_KXNORD,I_KXNORQ,I_KXNORW,I_KXORB,I_KXORD + ,I_KXORQ,I_KXORW,I_LAR,I_LAR,I_LAR,I_LAR,I_LAR,I_LAR,I_LCALL,I_LCALL + ,I_LDDQU,I_LDMXCSR,I_LEAVE,I_LEAVE,I_LEA,I_LEA,I_LEA,I_LFENCE,I_LFS,I_LFS + ,I_LFS,I_LGDT,I_LGS,I_LGS,I_LGS,I_LIDT,I_LJMP,I_LJMP,I_LJMP,I_LLDT + ,I_LLDT,I_LMSW,I_LMSW,I_LODS,I_LODS,I_LODS,I_LODS,I_LOOPE,I_LOOPNE,I_LOOPNZ + ,I_LOOPZ,I_LOOP,I_LRET,I_LSL,I_LSL,I_LSL,I_LSL,I_LSL,I_LSL,I_LSS + ,I_LSS,I_LSS,I_LTR,I_LTR,I_LZCNT,I_LZCNT,I_LZCNT,I_LZCNT,I_LZCNT,I_LZCNT + ,I_MASKMOVDQU,I_MASKMOVQ,I_MAXPD,I_MAXPD,I_MAXPS,I_MAXPS,I_MAXSD,I_MAXSD,I_MAXSS,I_MAXSS + ,I_MFENCE,I_MINPD,I_MINPD,I_MINPS,I_MINPS,I_MINSD,I_MINSD,I_MINSS,I_MINSS,I_MONITOR + ,I_MOVAPD,I_MOVAPD,I_MOVAPD,I_MOVAPS,I_MOVAPS,I_MOVAPS,I_MOVBE,I_MOVBE,I_MOVBE,I_MOVBE + ,I_MOVBE,I_MOVBE,I_MOVDDUP,I_MOVDDUP,I_MOVDQ2Q,I_MOVDQA,I_MOVDQA,I_MOVDQA,I_MOVDQU,I_MOVDQU + ,I_MOVDQU,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVD,I_MOVHLPS + ,I_MOVHPD,I_MOVHPD,I_MOVHPS,I_MOVHPS,I_MOVLHPS,I_MOVLPD,I_MOVLPD,I_MOVLPS,I_MOVLPS,I_MOVMSKPD + ,I_MOVMSKPD,I_MOVMSKPS,I_MOVMSKPS,I_MOVNTDQA,I_MOVNTDQ,I_MOVNTI,I_MOVNTI,I_MOVNTPD,I_MOVNTPS,I_MOVNTQ + ,I_MOVQ2DQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ,I_MOVQ + ,I_MOVQ,I_MOVSD,I_MOVSD,I_MOVSD,I_MOVSHDUP,I_MOVSHDUP,I_MOVSLDUP,I_MOVSLDUP,I_MOVSS,I_MOVSS + ,I_MOVSS,I_MOVSXD,I_MOVSXD,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVSX + ,I_MOVSX,I_MOVSX,I_MOVSX,I_MOVS,I_MOVS,I_MOVS,I_MOVS,I_MOVUPD,I_MOVUPD,I_MOVUPD + ,I_MOVUPS,I_MOVUPS,I_MOVUPS,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX,I_MOVZX + ,I_MOVZX,I_MOVZX,I_MOVZX,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV ,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV ,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV ,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV - ,I_MOV,I_MPSADBW,I_MPSADBW,I_MULPD,I_MULPD,I_MULPS,I_MULPS,I_MULSD,I_MULSD,I_MULSS - ,I_MULSS,I_MULX,I_MULX,I_MULX,I_MULX,I_MUL,I_MUL,I_MUL,I_MUL,I_MUL - ,I_MUL,I_MUL,I_MUL,I_MWAIT,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG - ,I_NEG,I_NEG,I_NOP,I_NOP,I_NOP,I_NOP,I_NOP,I_NOT,I_NOT,I_NOT - ,I_NOT,I_NOT,I_NOT,I_NOT,I_NOT,I_ORPD,I_ORPD,I_ORPS,I_ORPS,I_OR + ,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MOV,I_MPSADBW + ,I_MPSADBW,I_MULPD,I_MULPD,I_MULPS,I_MULPS,I_MULSD,I_MULSD,I_MULSS,I_MULSS,I_MULX + ,I_MULX,I_MULX,I_MULX,I_MUL,I_MUL,I_MUL,I_MUL,I_MUL,I_MUL,I_MUL + ,I_MUL,I_MWAIT,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG,I_NEG + ,I_NOP,I_NOP,I_NOP,I_NOP,I_NOP,I_NOT,I_NOT,I_NOT,I_NOT,I_NOT + ,I_NOT,I_NOT,I_NOT,I_ORPD,I_ORPD,I_ORPS,I_ORPS,I_OR,I_OR,I_OR ,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR ,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR,I_OR - ,I_OR,I_OR,I_OR,I_OR,I_OR,I_OUTS,I_OUTS,I_OUTS,I_OUT,I_OUT - ,I_OUT,I_OUT,I_OUT,I_OUT,I_PABSB,I_PABSB,I_PABSB,I_PABSB,I_PABSD,I_PABSD - ,I_PABSD,I_PABSD,I_PABSW,I_PABSW,I_PABSW,I_PABSW,I_PACKSSDW,I_PACKSSDW,I_PACKSSDW,I_PACKSSDW - ,I_PACKSSWB,I_PACKSSWB,I_PACKSSWB,I_PACKSSWB,I_PACKUSDW,I_PACKUSDW,I_PACKUSWB,I_PACKUSWB,I_PACKUSWB,I_PACKUSWB - ,I_PADDB,I_PADDB,I_PADDB,I_PADDB,I_PADDD,I_PADDD,I_PADDD,I_PADDD,I_PADDQ,I_PADDQ - ,I_PADDQ,I_PADDQ,I_PADDSB,I_PADDSB,I_PADDSB,I_PADDSB,I_PADDSW,I_PADDSW,I_PADDSW,I_PADDSW - ,I_PADDUSB,I_PADDUSB,I_PADDUSB,I_PADDUSB,I_PADDUSW,I_PADDUSW,I_PADDUSW,I_PADDUSW,I_PADDW,I_PADDW - ,I_PADDW,I_PADDW,I_PALIGNR,I_PALIGNR,I_PALIGNR,I_PALIGNR,I_PANDN,I_PANDN,I_PANDN,I_PANDN - ,I_PAND,I_PAND,I_PAND,I_PAND,I_PAUSE,I_PAVGB,I_PAVGB,I_PAVGB,I_PAVGB,I_PAVGUSB - ,I_PAVGUSB,I_PAVGW,I_PAVGW,I_PAVGW,I_PAVGW,I_PBLENDVB,I_PBLENDVB,I_PBLENDW,I_PBLENDW,I_PCLMULQDQ - ,I_PCLMULQDQ,I_PCMPEQB,I_PCMPEQB,I_PCMPEQB,I_PCMPEQB,I_PCMPEQD,I_PCMPEQD,I_PCMPEQD,I_PCMPEQD,I_PCMPEQQ - ,I_PCMPEQQ,I_PCMPEQW,I_PCMPEQW,I_PCMPEQW,I_PCMPEQW,I_PCMPESTRI,I_PCMPESTRI,I_PCMPESTRM,I_PCMPESTRM,I_PCMPGTB - ,I_PCMPGTB,I_PCMPGTB,I_PCMPGTB,I_PCMPGTD,I_PCMPGTD,I_PCMPGTD,I_PCMPGTD,I_PCMPGTQ,I_PCMPGTQ,I_PCMPGTW - ,I_PCMPGTW,I_PCMPGTW,I_PCMPGTW,I_PCMPISTRI,I_PCMPISTRI,I_PCMPISTRM,I_PCMPISTRM,I_PDEP,I_PDEP,I_PDEP - ,I_PDEP,I_PEXTRB,I_PEXTRB,I_PEXTRD,I_PEXTRD,I_PEXTRQ,I_PEXTRQ,I_PEXTRW,I_PEXTRW,I_PEXTRW - ,I_PEXTRW,I_PEXT,I_PEXT,I_PEXT,I_PEXT,I_PF2ID,I_PF2ID,I_PF2IW,I_PF2IW,I_PFACC - ,I_PFACC,I_PFADD,I_PFADD,I_PFCMPEQ,I_PFCMPEQ,I_PFCMPGE,I_PFCMPGE,I_PFCMPGT,I_PFCMPGT,I_PFMAX - ,I_PFMAX,I_PFMIN,I_PFMIN,I_PFMUL,I_PFMUL,I_PFNACC,I_PFNACC,I_PFPNACC,I_PFPNACC,I_PFRCPIT1 - ,I_PFRCPIT1,I_PFRCPIT2,I_PFRCPIT2,I_PFRCP,I_PFRCP,I_PFRSQIT1,I_PFRSQIT1,I_PFRSQRT,I_PFRSQRT,I_PFSUBR - ,I_PFSUBR,I_PFSUB,I_PFSUB,I_PHADDD,I_PHADDD,I_PHADDD,I_PHADDD,I_PHADDSW,I_PHADDSW,I_PHADDSW - ,I_PHADDSW,I_PHADDW,I_PHADDW,I_PHADDW,I_PHADDW,I_PHMINPOSUW,I_PHMINPOSUW,I_PHSUBD,I_PHSUBD,I_PHSUBD - ,I_PHSUBD,I_PHSUBSW,I_PHSUBSW,I_PHSUBSW,I_PHSUBSW,I_PHSUBW,I_PHSUBW,I_PHSUBW,I_PHSUBW,I_PI2FD - ,I_PI2FD,I_PI2FW,I_PI2FW,I_PINSRB,I_PINSRB,I_PINSRD,I_PINSRD,I_PINSRQ,I_PINSRQ,I_PINSRW - ,I_PINSRW,I_PINSRW,I_PINSRW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDWD,I_PMADDWD,I_PMADDWD - ,I_PMADDWD,I_PMAXSB,I_PMAXSB,I_PMAXSD,I_PMAXSD,I_PMAXSW,I_PMAXSW,I_PMAXSW,I_PMAXSW,I_PMAXUB - ,I_PMAXUB,I_PMAXUB,I_PMAXUB,I_PMAXUD,I_PMAXUD,I_PMAXUW,I_PMAXUW,I_PMINSB,I_PMINSB,I_PMINSD - ,I_PMINSD,I_PMINSW,I_PMINSW,I_PMINSW,I_PMINSW,I_PMINUB,I_PMINUB,I_PMINUB,I_PMINUB,I_PMINUD - ,I_PMINUD,I_PMINUW,I_PMINUW,I_PMOVMSKB,I_PMOVMSKB,I_PMOVMSKB,I_PMOVMSKB,I_PMOVSXBD,I_PMOVSXBD,I_PMOVSXBQ - ,I_PMOVSXBQ,I_PMOVSXBW,I_PMOVSXBW,I_PMOVSXDQ,I_PMOVSXDQ,I_PMOVSXWD,I_PMOVSXWD,I_PMOVSXWQ,I_PMOVSXWQ,I_PMOVZXBD - ,I_PMOVZXBD,I_PMOVZXBQ,I_PMOVZXBQ,I_PMOVZXBW,I_PMOVZXBW,I_PMOVZXDQ,I_PMOVZXDQ,I_PMOVZXWD,I_PMOVZXWD,I_PMOVZXWQ - ,I_PMOVZXWQ,I_PMULDQ,I_PMULDQ,I_PMULHRSW,I_PMULHRSW,I_PMULHRSW,I_PMULHRSW,I_PMULHRW,I_PMULHRW,I_PMULHUW - ,I_PMULHUW,I_PMULHUW,I_PMULHUW,I_PMULHW,I_PMULHW,I_PMULHW,I_PMULHW,I_PMULLD,I_PMULLD,I_PMULLW - ,I_PMULLW,I_PMULLW,I_PMULLW,I_PMULUDQ,I_PMULUDQ,I_PMULUDQ,I_PMULUDQ,I_POPCNT,I_POPCNT,I_POPCNT - ,I_POPCNT,I_POPCNT,I_POPCNT,I_POPFQ,I_POPFW,I_POP,I_POP,I_POP,I_POP,I_POP - ,I_POR,I_POR,I_POR,I_POR,I_PREFETCHNTA,I_PREFETCHT0,I_PREFETCHT1,I_PREFETCHT2,I_PREFETCHW,I_PSADBW - ,I_PSADBW,I_PSADBW,I_PSADBW,I_PSHUFB,I_PSHUFB,I_PSHUFB,I_PSHUFB,I_PSHUFD,I_PSHUFD,I_PSHUFHW - ,I_PSHUFHW,I_PSHUFLW,I_PSHUFLW,I_PSHUFW,I_PSHUFW,I_PSIGNB,I_PSIGNB,I_PSIGNB,I_PSIGNB,I_PSIGND - ,I_PSIGND,I_PSIGND,I_PSIGND,I_PSIGNW,I_PSIGNW,I_PSIGNW,I_PSIGNW,I_PSLLDQ,I_PSLLD,I_PSLLD - ,I_PSLLD,I_PSLLD,I_PSLLD,I_PSLLD,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ - ,I_PSLLW,I_PSLLW,I_PSLLW,I_PSLLW,I_PSLLW,I_PSLLW,I_PSRAD,I_PSRAD,I_PSRAD,I_PSRAD - ,I_PSRAD,I_PSRAD,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRLDQ,I_PSRLD - ,I_PSRLD,I_PSRLD,I_PSRLD,I_PSRLD,I_PSRLD,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLQ - ,I_PSRLQ,I_PSRLW,I_PSRLW,I_PSRLW,I_PSRLW,I_PSRLW,I_PSRLW,I_PSUBB,I_PSUBB,I_PSUBB - ,I_PSUBB,I_PSUBD,I_PSUBD,I_PSUBD,I_PSUBD,I_PSUBQ,I_PSUBQ,I_PSUBQ,I_PSUBQ,I_PSUBSB - ,I_PSUBSB,I_PSUBSB,I_PSUBSB,I_PSUBSW,I_PSUBSW,I_PSUBSW,I_PSUBSW,I_PSUBUSB,I_PSUBUSB,I_PSUBUSB - ,I_PSUBUSB,I_PSUBUSW,I_PSUBUSW,I_PSUBUSW,I_PSUBUSW,I_PSUBW,I_PSUBW,I_PSUBW,I_PSUBW,I_PSWAPD - ,I_PSWAPD,I_PTEST,I_PTEST,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHDQ,I_PUNPCKHDQ,I_PUNPCKHDQ - ,I_PUNPCKHDQ,I_PUNPCKHQDQ,I_PUNPCKHQDQ,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKLBW,I_PUNPCKLBW,I_PUNPCKLBW - ,I_PUNPCKLBW,I_PUNPCKLDQ,I_PUNPCKLDQ,I_PUNPCKLDQ,I_PUNPCKLDQ,I_PUNPCKLQDQ,I_PUNPCKLQDQ,I_PUNPCKLWD,I_PUNPCKLWD,I_PUNPCKLWD - ,I_PUNPCKLWD,I_PUSHFQ,I_PUSHFW,I_PUSHW,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PUSH - ,I_PUSH,I_PXOR,I_PXOR,I_PXOR,I_PXOR,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL - ,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL - ,I_RCL,I_RCPPS,I_RCPPS,I_RCPSS,I_RCPSS,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR - ,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR - ,I_RCR,I_RDFSBASE,I_RDFSBASE,I_RDGSBASE,I_RDGSBASE,I_RDMSR,I_RDPMC,I_RDRAND,I_RDRAND,I_RDRAND - ,I_RDTSCP,I_RDTSC,I_REPE_CMPS,I_REPE_CMPS,I_REPE_CMPS,I_REPE_CMPS,I_REPE_SCAS,I_REPE_SCAS,I_REPE_SCAS,I_REPE_SCAS - ,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_SCAS,I_REPNE_SCAS,I_REPNE_SCAS,I_REPNE_SCAS,I_REP_INS,I_REP_INS - ,I_REP_INS,I_REP_INS,I_REP_LODS,I_REP_LODS,I_REP_LODS,I_REP_LODS,I_REP_MOVS,I_REP_MOVS,I_REP_MOVS,I_REP_MOVS - ,I_REP_OUTS,I_REP_OUTS,I_REP_OUTS,I_REP_OUTS,I_REP_STOS,I_REP_STOS,I_REP_STOS,I_REP_STOS,I_RET,I_RET - ,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL - ,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_RORX,I_RORX,I_RORX,I_RORX - ,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR - ,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROUNDPD,I_ROUNDPD,I_ROUNDPS,I_ROUNDPS - ,I_ROUNDSD,I_ROUNDSD,I_ROUNDSS,I_ROUNDSS,I_RSM,I_RSQRTPS,I_RSQRTPS,I_RSQRTSS,I_RSQRTSS,I_SAL + ,I_OR,I_OR,I_OR,I_OUTS,I_OUTS,I_OUTS,I_OUT,I_OUT,I_OUT,I_OUT + ,I_OUT,I_OUT,I_PABSB,I_PABSB,I_PABSB,I_PABSB,I_PABSD,I_PABSD,I_PABSD,I_PABSD + ,I_PABSW,I_PABSW,I_PABSW,I_PABSW,I_PACKSSDW,I_PACKSSDW,I_PACKSSDW,I_PACKSSDW,I_PACKSSWB,I_PACKSSWB + ,I_PACKSSWB,I_PACKSSWB,I_PACKUSDW,I_PACKUSDW,I_PACKUSWB,I_PACKUSWB,I_PACKUSWB,I_PACKUSWB,I_PADDB,I_PADDB + ,I_PADDB,I_PADDB,I_PADDD,I_PADDD,I_PADDD,I_PADDD,I_PADDQ,I_PADDQ,I_PADDQ,I_PADDQ + ,I_PADDSB,I_PADDSB,I_PADDSB,I_PADDSB,I_PADDSW,I_PADDSW,I_PADDSW,I_PADDSW,I_PADDUSB,I_PADDUSB + ,I_PADDUSB,I_PADDUSB,I_PADDUSW,I_PADDUSW,I_PADDUSW,I_PADDUSW,I_PADDW,I_PADDW,I_PADDW,I_PADDW + ,I_PALIGNR,I_PALIGNR,I_PALIGNR,I_PALIGNR,I_PANDN,I_PANDN,I_PANDN,I_PANDN,I_PAND,I_PAND + ,I_PAND,I_PAND,I_PAUSE,I_PAVGB,I_PAVGB,I_PAVGB,I_PAVGB,I_PAVGUSB,I_PAVGUSB,I_PAVGW + ,I_PAVGW,I_PAVGW,I_PAVGW,I_PBLENDVB,I_PBLENDVB,I_PBLENDW,I_PBLENDW,I_PCLMULQDQ,I_PCLMULQDQ,I_PCMPEQB + ,I_PCMPEQB,I_PCMPEQB,I_PCMPEQB,I_PCMPEQD,I_PCMPEQD,I_PCMPEQD,I_PCMPEQD,I_PCMPEQQ,I_PCMPEQQ,I_PCMPEQW + ,I_PCMPEQW,I_PCMPEQW,I_PCMPEQW,I_PCMPESTRI,I_PCMPESTRI,I_PCMPESTRM,I_PCMPESTRM,I_PCMPGTB,I_PCMPGTB,I_PCMPGTB + ,I_PCMPGTB,I_PCMPGTD,I_PCMPGTD,I_PCMPGTD,I_PCMPGTD,I_PCMPGTQ,I_PCMPGTQ,I_PCMPGTW,I_PCMPGTW,I_PCMPGTW + ,I_PCMPGTW,I_PCMPISTRI,I_PCMPISTRI,I_PCMPISTRM,I_PCMPISTRM,I_PDEP,I_PDEP,I_PDEP,I_PDEP,I_PEXTRB + ,I_PEXTRB,I_PEXTRD,I_PEXTRD,I_PEXTRQ,I_PEXTRQ,I_PEXTRW,I_PEXTRW,I_PEXTRW,I_PEXTRW,I_PEXT + ,I_PEXT,I_PEXT,I_PEXT,I_PF2ID,I_PF2ID,I_PF2IW,I_PF2IW,I_PFACC,I_PFACC,I_PFADD + ,I_PFADD,I_PFCMPEQ,I_PFCMPEQ,I_PFCMPGE,I_PFCMPGE,I_PFCMPGT,I_PFCMPGT,I_PFMAX,I_PFMAX,I_PFMIN + ,I_PFMIN,I_PFMUL,I_PFMUL,I_PFNACC,I_PFNACC,I_PFPNACC,I_PFPNACC,I_PFRCPIT1,I_PFRCPIT1,I_PFRCPIT2 + ,I_PFRCPIT2,I_PFRCP,I_PFRCP,I_PFRSQIT1,I_PFRSQIT1,I_PFRSQRT,I_PFRSQRT,I_PFSUBR,I_PFSUBR,I_PFSUB + ,I_PFSUB,I_PHADDD,I_PHADDD,I_PHADDD,I_PHADDD,I_PHADDSW,I_PHADDSW,I_PHADDSW,I_PHADDSW,I_PHADDW + ,I_PHADDW,I_PHADDW,I_PHADDW,I_PHMINPOSUW,I_PHMINPOSUW,I_PHSUBD,I_PHSUBD,I_PHSUBD,I_PHSUBD,I_PHSUBSW + ,I_PHSUBSW,I_PHSUBSW,I_PHSUBSW,I_PHSUBW,I_PHSUBW,I_PHSUBW,I_PHSUBW,I_PI2FD,I_PI2FD,I_PI2FW + ,I_PI2FW,I_PINSRB,I_PINSRB,I_PINSRD,I_PINSRD,I_PINSRQ,I_PINSRQ,I_PINSRW,I_PINSRW,I_PINSRW + ,I_PINSRW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDUBSW,I_PMADDWD,I_PMADDWD,I_PMADDWD,I_PMADDWD,I_PMAXSB + ,I_PMAXSB,I_PMAXSD,I_PMAXSD,I_PMAXSW,I_PMAXSW,I_PMAXSW,I_PMAXSW,I_PMAXUB,I_PMAXUB,I_PMAXUB + ,I_PMAXUB,I_PMAXUD,I_PMAXUD,I_PMAXUW,I_PMAXUW,I_PMINSB,I_PMINSB,I_PMINSD,I_PMINSD,I_PMINSW + ,I_PMINSW,I_PMINSW,I_PMINSW,I_PMINUB,I_PMINUB,I_PMINUB,I_PMINUB,I_PMINUD,I_PMINUD,I_PMINUW + ,I_PMINUW,I_PMOVMSKB,I_PMOVMSKB,I_PMOVMSKB,I_PMOVMSKB,I_PMOVSXBD,I_PMOVSXBD,I_PMOVSXBQ,I_PMOVSXBQ,I_PMOVSXBW + ,I_PMOVSXBW,I_PMOVSXDQ,I_PMOVSXDQ,I_PMOVSXWD,I_PMOVSXWD,I_PMOVSXWQ,I_PMOVSXWQ,I_PMOVZXBD,I_PMOVZXBD,I_PMOVZXBQ + ,I_PMOVZXBQ,I_PMOVZXBW,I_PMOVZXBW,I_PMOVZXDQ,I_PMOVZXDQ,I_PMOVZXWD,I_PMOVZXWD,I_PMOVZXWQ,I_PMOVZXWQ,I_PMULDQ + ,I_PMULDQ,I_PMULHRSW,I_PMULHRSW,I_PMULHRSW,I_PMULHRSW,I_PMULHRW,I_PMULHRW,I_PMULHUW,I_PMULHUW,I_PMULHUW + ,I_PMULHUW,I_PMULHW,I_PMULHW,I_PMULHW,I_PMULHW,I_PMULLD,I_PMULLD,I_PMULLW,I_PMULLW,I_PMULLW + ,I_PMULLW,I_PMULUDQ,I_PMULUDQ,I_PMULUDQ,I_PMULUDQ,I_POPCNT,I_POPCNT,I_POPCNT,I_POPCNT,I_POPCNT + ,I_POPCNT,I_POPFQ,I_POPFW,I_POP,I_POP,I_POP,I_POP,I_POP,I_POR,I_POR + ,I_POR,I_POR,I_PREFETCHNTA,I_PREFETCHT0,I_PREFETCHT1,I_PREFETCHT2,I_PREFETCHW,I_PSADBW,I_PSADBW,I_PSADBW + ,I_PSADBW,I_PSHUFB,I_PSHUFB,I_PSHUFB,I_PSHUFB,I_PSHUFD,I_PSHUFD,I_PSHUFHW,I_PSHUFHW,I_PSHUFLW + ,I_PSHUFLW,I_PSHUFW,I_PSHUFW,I_PSIGNB,I_PSIGNB,I_PSIGNB,I_PSIGNB,I_PSIGND,I_PSIGND,I_PSIGND + ,I_PSIGND,I_PSIGNW,I_PSIGNW,I_PSIGNW,I_PSIGNW,I_PSLLDQ,I_PSLLD,I_PSLLD,I_PSLLD,I_PSLLD + ,I_PSLLD,I_PSLLD,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLQ,I_PSLLW,I_PSLLW + ,I_PSLLW,I_PSLLW,I_PSLLW,I_PSLLW,I_PSRAD,I_PSRAD,I_PSRAD,I_PSRAD,I_PSRAD,I_PSRAD + ,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRAW,I_PSRLDQ,I_PSRLD,I_PSRLD,I_PSRLD + ,I_PSRLD,I_PSRLD,I_PSRLD,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLQ,I_PSRLW + ,I_PSRLW,I_PSRLW,I_PSRLW,I_PSRLW,I_PSRLW,I_PSUBB,I_PSUBB,I_PSUBB,I_PSUBB,I_PSUBD + ,I_PSUBD,I_PSUBD,I_PSUBD,I_PSUBQ,I_PSUBQ,I_PSUBQ,I_PSUBQ,I_PSUBSB,I_PSUBSB,I_PSUBSB + ,I_PSUBSB,I_PSUBSW,I_PSUBSW,I_PSUBSW,I_PSUBSW,I_PSUBUSB,I_PSUBUSB,I_PSUBUSB,I_PSUBUSB,I_PSUBUSW + ,I_PSUBUSW,I_PSUBUSW,I_PSUBUSW,I_PSUBW,I_PSUBW,I_PSUBW,I_PSUBW,I_PSWAPD,I_PSWAPD,I_PTEST + ,I_PTEST,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHBW,I_PUNPCKHDQ,I_PUNPCKHDQ,I_PUNPCKHDQ,I_PUNPCKHDQ,I_PUNPCKHQDQ + ,I_PUNPCKHQDQ,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKHWD,I_PUNPCKLBW,I_PUNPCKLBW,I_PUNPCKLBW,I_PUNPCKLBW,I_PUNPCKLDQ + ,I_PUNPCKLDQ,I_PUNPCKLDQ,I_PUNPCKLDQ,I_PUNPCKLQDQ,I_PUNPCKLQDQ,I_PUNPCKLWD,I_PUNPCKLWD,I_PUNPCKLWD,I_PUNPCKLWD,I_PUSHFQ + ,I_PUSHFW,I_PUSHW,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PUSH,I_PXOR + ,I_PXOR,I_PXOR,I_PXOR,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL + ,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCL,I_RCPPS + ,I_RCPPS,I_RCPSS,I_RCPSS,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR + ,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RCR,I_RDFSBASE + ,I_RDFSBASE,I_RDGSBASE,I_RDGSBASE,I_RDMSR,I_RDPMC,I_RDRAND,I_RDRAND,I_RDRAND,I_RDSEED,I_RDSEED + ,I_RDSEED,I_RDTSCP,I_RDTSC,I_REPE_CMPS,I_REPE_CMPS,I_REPE_CMPS,I_REPE_CMPS,I_REPE_SCAS,I_REPE_SCAS,I_REPE_SCAS + ,I_REPE_SCAS,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_CMPS,I_REPNE_SCAS,I_REPNE_SCAS,I_REPNE_SCAS,I_REPNE_SCAS,I_REP_INS + ,I_REP_INS,I_REP_INS,I_REP_INS,I_REP_LODS,I_REP_LODS,I_REP_LODS,I_REP_LODS,I_REP_MOVS,I_REP_MOVS,I_REP_MOVS + ,I_REP_MOVS,I_REP_OUTS,I_REP_OUTS,I_REP_OUTS,I_REP_OUTS,I_REP_STOS,I_REP_STOS,I_REP_STOS,I_REP_STOS,I_RET + ,I_RET,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL + ,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_ROL,I_RORX,I_RORX,I_RORX + ,I_RORX,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR + ,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROR,I_ROUNDPD,I_ROUNDPD,I_ROUNDPS + ,I_ROUNDPS,I_ROUNDSD,I_ROUNDSD,I_ROUNDSS,I_ROUNDSS,I_RSM,I_RSQRTPS,I_RSQRTPS,I_RSQRTSS,I_RSQRTSS ,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL - ,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SARX,I_SARX,I_SARX,I_SARX,I_SAR + ,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SAL,I_SARX,I_SARX,I_SARX,I_SARX ,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR - ,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB + ,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SAR,I_SBB,I_SBB,I_SBB,I_SBB ,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB ,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB,I_SBB - ,I_SBB,I_SCAS,I_SCAS,I_SCAS,I_SCAS,I_SETAE,I_SETAE,I_SETA,I_SETA,I_SETBE - ,I_SETBE,I_SETB,I_SETB,I_SETC,I_SETC,I_SETE,I_SETE,I_SETGE,I_SETGE,I_SETG - ,I_SETG,I_SETLE,I_SETLE,I_SETL,I_SETL,I_SETNAE,I_SETNAE,I_SETNA,I_SETNA,I_SETNBE - ,I_SETNBE,I_SETNB,I_SETNB,I_SETNC,I_SETNC,I_SETNE,I_SETNE,I_SETNGE,I_SETNGE,I_SETNG - ,I_SETNG,I_SETNLE,I_SETNLE,I_SETNL,I_SETNL,I_SETNO,I_SETNO,I_SETNP,I_SETNP,I_SETNS - ,I_SETNS,I_SETNZ,I_SETNZ,I_SETO,I_SETO,I_SETPE,I_SETPE,I_SETPO,I_SETPO,I_SETP - ,I_SETP,I_SETS,I_SETS,I_SETZ,I_SETZ,I_SFENCE,I_SGDT,I_SHLD,I_SHLD,I_SHLD - ,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLX - ,I_SHLX,I_SHLX,I_SHLX,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL - ,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHRD + ,I_SBB,I_SBB,I_SCAS,I_SCAS,I_SCAS,I_SCAS,I_SETAE,I_SETAE,I_SETA,I_SETA + ,I_SETBE,I_SETBE,I_SETB,I_SETB,I_SETC,I_SETC,I_SETE,I_SETE,I_SETGE,I_SETGE + ,I_SETG,I_SETG,I_SETLE,I_SETLE,I_SETL,I_SETL,I_SETNAE,I_SETNAE,I_SETNA,I_SETNA + ,I_SETNBE,I_SETNBE,I_SETNB,I_SETNB,I_SETNC,I_SETNC,I_SETNE,I_SETNE,I_SETNGE,I_SETNGE + ,I_SETNG,I_SETNG,I_SETNLE,I_SETNLE,I_SETNL,I_SETNL,I_SETNO,I_SETNO,I_SETNP,I_SETNP + ,I_SETNS,I_SETNS,I_SETNZ,I_SETNZ,I_SETO,I_SETO,I_SETPE,I_SETPE,I_SETPO,I_SETPO + ,I_SETP,I_SETP,I_SETS,I_SETS,I_SETZ,I_SETZ,I_SFENCE,I_SGDT,I_SHLD,I_SHLD + ,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD,I_SHLD + ,I_SHLX,I_SHLX,I_SHLX,I_SHLX,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL + ,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL,I_SHL ,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD,I_SHRD - ,I_SHRD,I_SHRX,I_SHRX,I_SHRX,I_SHRX,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR + ,I_SHRD,I_SHRD,I_SHRX,I_SHRX,I_SHRX,I_SHRX,I_SHR,I_SHR,I_SHR,I_SHR ,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR,I_SHR - ,I_SHR,I_SHUFPD,I_SHUFPD,I_SHUFPS,I_SHUFPS,I_SIDT,I_SLDT,I_SLDT,I_SLDT,I_SLDT - ,I_SMSW,I_SMSW,I_SMSW,I_SMSW,I_SQRTPD,I_SQRTPD,I_SQRTPS,I_SQRTPS,I_SQRTSD,I_SQRTSD - ,I_SQRTSS,I_SQRTSS,I_STC,I_STD,I_STI,I_STMXCSR,I_STOS,I_STOS,I_STOS,I_STOS - ,I_STR,I_STR,I_STR,I_STR,I_SUBPD,I_SUBPD,I_SUBPS,I_SUBPS,I_SUBSD,I_SUBSD - ,I_SUBSS,I_SUBSS,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB + ,I_SHR,I_SHR,I_SHUFPD,I_SHUFPD,I_SHUFPS,I_SHUFPS,I_SIDT,I_SLDT,I_SLDT,I_SLDT + ,I_SLDT,I_SMSW,I_SMSW,I_SMSW,I_SMSW,I_SQRTPD,I_SQRTPD,I_SQRTPS,I_SQRTPS,I_SQRTSD + ,I_SQRTSD,I_SQRTSS,I_SQRTSS,I_STC,I_STD,I_STI,I_STMXCSR,I_STOS,I_STOS,I_STOS + ,I_STOS,I_STR,I_STR,I_STR,I_STR,I_SUBPD,I_SUBPD,I_SUBPS,I_SUBPS,I_SUBSD + ,I_SUBSD,I_SUBSS,I_SUBSS,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB ,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB - ,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SWAPGS,I_SYSCALL - ,I_SYSENTER,I_SYSEXIT,I_SYSRET,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST - ,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TZCNT - ,I_TZCNT,I_TZCNT,I_TZCNT,I_TZCNT,I_TZCNT,I_UCOMISD,I_UCOMISD,I_UCOMISS,I_UCOMISS,I_UD2 - ,I_UNPCKHPD,I_UNPCKHPD,I_UNPCKHPS,I_UNPCKHPS,I_UNPCKLPD,I_UNPCKLPD,I_UNPCKLPS,I_UNPCKLPS,I_VADDPD,I_VADDPD - ,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPS,I_VADDPS - ,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDSD,I_VADDSD - ,I_VADDSD,I_VADDSD,I_VADDSS,I_VADDSS,I_VADDSS,I_VADDSS,I_VADDSUBPD,I_VADDSUBPD,I_VADDSUBPD,I_VADDSUBPD - ,I_VADDSUBPS,I_VADDSUBPS,I_VADDSUBPS,I_VADDSUBPS,I_VAESDECLAST,I_VAESDECLAST,I_VAESDEC,I_VAESDEC,I_VAESENCLAST,I_VAESENCLAST - ,I_VAESENC,I_VAESENC,I_VAESIMC,I_VAESIMC,I_VAESKEYGENASSIST,I_VAESKEYGENASSIST,I_VALIGND,I_VALIGND,I_VALIGND,I_VALIGND - ,I_VALIGND,I_VALIGND,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VANDNPD,I_VANDNPD - ,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPS,I_VANDNPS - ,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDPD,I_VANDPD - ,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPS,I_VANDPS - ,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VBLENDMPD,I_VBLENDMPD - ,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS - ,I_VBLENDPD,I_VBLENDPD,I_VBLENDPD,I_VBLENDPD,I_VBLENDPS,I_VBLENDPS,I_VBLENDPS,I_VBLENDPS,I_VBLENDVPD,I_VBLENDVPD - ,I_VBLENDVPD,I_VBLENDVPD,I_VBLENDVPS,I_VBLENDVPS,I_VBLENDVPS,I_VBLENDVPS,I_VBROADCASTF128,I_VBROADCASTF32X2,I_VBROADCASTF32X2,I_VBROADCASTF32X2 - ,I_VBROADCASTF32X2,I_VBROADCASTF32X4,I_VBROADCASTF32X4,I_VBROADCASTF32X8,I_VBROADCASTF64X2,I_VBROADCASTF64X2,I_VBROADCASTF64X4,I_VBROADCASTI128,I_VBROADCASTI32X2,I_VBROADCASTI32X2 - ,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X4,I_VBROADCASTI32X8,I_VBROADCASTI64X2,I_VBROADCASTI64X2,I_VBROADCASTI64X4,I_VBROADCASTSD - ,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS - ,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD - ,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS - ,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPSD,I_VCMPSD,I_VCMPSD,I_VCMPSD,I_VCMPSS - ,I_VCMPSS,I_VCMPSS,I_VCMPSS,I_VCOMISD,I_VCOMISD,I_VCOMISD,I_VCOMISD,I_VCOMISS,I_VCOMISS,I_VCOMISS - ,I_VCOMISS,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCOMPRESSPS - ,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD - ,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS - ,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ - ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS - ,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2UDQ - ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ - ,I_VCVTPD2UQQ,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS - ,I_VCVTPH2PS,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ - ,I_VCVTPS2DQ,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD - ,I_VCVTPS2PD,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH - ,I_VCVTPS2PH,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ - ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTQQ2PD - ,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTQQ2PS - ,I_VCVTQQ2PS,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SS - ,I_VCVTSD2SS,I_VCVTSD2SS,I_VCVTSD2SS,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD - ,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS - ,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI - ,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2USI,I_VCVTSS2USI,I_VCVTSS2USI,I_VCVTSS2USI,I_VCVTTPD2DQ - ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2QQ - ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ - ,I_VCVTTPD2UDQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ - ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ - ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UQQ - ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI - ,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI - ,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2USI,I_VCVTTSS2USI,I_VCVTTSS2USI,I_VCVTTSS2USI,I_VCVTUDQ2PD - ,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUDQ2PS - ,I_VCVTUDQ2PS,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUQQ2PS - ,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SS,I_VCVTUSI2SS,I_VCVTUSI2SS - ,I_VCVTUSI2SS,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDIVPD,I_VDIVPD,I_VDIVPD - ,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPS,I_VDIVPS,I_VDIVPS - ,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVSD,I_VDIVSD,I_VDIVSD - ,I_VDIVSD,I_VDIVSS,I_VDIVSS,I_VDIVSS,I_VDIVSS,I_VDPPD,I_VDPPD,I_VDPPS,I_VDPPS,I_VDPPS - ,I_VDPPS,I_VERR,I_VERR,I_VERW,I_VERW,I_VEXP2PD,I_VEXP2PD,I_VEXP2PS,I_VEXP2PS,I_VEXPANDPD - ,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPS,I_VEXPANDPS,I_VEXPANDPS,I_VEXPANDPS,I_VEXPANDPS - ,I_VEXPANDPS,I_VEXTRACTF128,I_VEXTRACTF128,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X8,I_VEXTRACTF32X8,I_VEXTRACTF64X2 - ,I_VEXTRACTF64X2,I_VEXTRACTF64X2,I_VEXTRACTF64X2,I_VEXTRACTF64X4,I_VEXTRACTF64X4,I_VEXTRACTI128,I_VEXTRACTI128,I_VEXTRACTI32X4,I_VEXTRACTI32X4,I_VEXTRACTI32X4 - ,I_VEXTRACTI32X4,I_VEXTRACTI32X8,I_VEXTRACTI32X8,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X4,I_VEXTRACTI64X4,I_VEXTRACTPS - ,I_VEXTRACTPS,I_VEXTRACTPS,I_VEXTRACTPS,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPS - ,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMSD,I_VFIXUPIMMSD,I_VFIXUPIMMSS,I_VFIXUPIMMSS,I_VFMADD132PD - ,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PS - ,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132SD - ,I_VFMADD132SD,I_VFMADD132SD,I_VFMADD132SD,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD - ,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS - ,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213SD,I_VFMADD213SD,I_VFMADD213SD - ,I_VFMADD213SD,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD - ,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS - ,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231SD,I_VFMADD231SD,I_VFMADD231SD,I_VFMADD231SD,I_VFMADD231SS - ,I_VFMADD231SS,I_VFMADD231SS,I_VFMADD231SS,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD - ,I_VFMADDPD,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDSD - ,I_VFMADDSD,I_VFMADDSD,I_VFMADDSD,I_VFMADDSS,I_VFMADDSS,I_VFMADDSS,I_VFMADDSS,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD - ,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS - ,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD - ,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS - ,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD - ,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS - ,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD - ,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS - ,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD - ,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS - ,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SS,I_VFMSUB132SS,I_VFMSUB132SS - ,I_VFMSUB132SS,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD - ,I_VFMSUB213PD,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS - ,I_VFMSUB213PS,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SS,I_VFMSUB213SS,I_VFMSUB213SS,I_VFMSUB213SS,I_VFMSUB231PD - ,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PS - ,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231SD - ,I_VFMSUB231SD,I_VFMSUB231SD,I_VFMSUB231SD,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD - ,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS - ,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD - ,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS - ,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD - ,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS - ,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD - ,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS - ,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD - ,I_VFMSUBPD,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBSD - ,I_VFMSUBSD,I_VFMSUBSD,I_VFMSUBSD,I_VFMSUBSS,I_VFMSUBSS,I_VFMSUBSS,I_VFMSUBSS,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD - ,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS - ,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132SD,I_VFNMADD132SD,I_VFNMADD132SD - ,I_VFNMADD132SD,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD - ,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS - ,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213SD,I_VFNMADD213SD,I_VFNMADD213SD,I_VFNMADD213SD,I_VFNMADD213SS - ,I_VFNMADD213SS,I_VFNMADD213SS,I_VFNMADD213SS,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD - ,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS - ,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SS,I_VFNMADD231SS,I_VFNMADD231SS - ,I_VFNMADD231SS,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPS - ,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDSD,I_VFNMADDSD,I_VFNMADDSD - ,I_VFNMADDSD,I_VFNMADDSS,I_VFNMADDSS,I_VFNMADDSS,I_VFNMADDSS,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD - ,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS - ,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132SD,I_VFNMSUB132SD,I_VFNMSUB132SD,I_VFNMSUB132SD,I_VFNMSUB132SS - ,I_VFNMSUB132SS,I_VFNMSUB132SS,I_VFNMSUB132SS,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD - ,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS - ,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SS,I_VFNMSUB213SS,I_VFNMSUB213SS - ,I_VFNMSUB213SS,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD - ,I_VFNMSUB231PD,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS - ,I_VFNMSUB231PS,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SS,I_VFNMSUB231SS,I_VFNMSUB231SS,I_VFNMSUB231SS,I_VFNMSUBPD - ,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS - ,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBSD,I_VFNMSUBSD,I_VFNMSUBSD,I_VFNMSUBSD,I_VFNMSUBSS - ,I_VFNMSUBSS,I_VFNMSUBSS,I_VFNMSUBSS,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPS - ,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSSD,I_VFPCLASSSD,I_VFPCLASSSS,I_VFPCLASSSS,I_VGATHERDPD - ,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERPF0DPD - ,I_VGATHERPF0DPS,I_VGATHERPF0QPD,I_VGATHERPF0QPS,I_VGATHERPF1DPD,I_VGATHERPF1DPS,I_VGATHERPF1QPD,I_VGATHERPF1QPS,I_VGATHERQPD,I_VGATHERQPD,I_VGATHERQPD - ,I_VGATHERQPD,I_VGATHERQPD,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPD - ,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPSD - ,I_VGETEXPSD,I_VGETEXPSS,I_VGETEXPSS,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPS - ,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTSD,I_VGETMANTSD,I_VGETMANTSS,I_VGETMANTSS,I_VHADDPD - ,I_VHADDPD,I_VHADDPD,I_VHADDPD,I_VHADDPS,I_VHADDPS,I_VHADDPS,I_VHADDPS,I_VHSUBPD,I_VHSUBPD,I_VHSUBPD - ,I_VHSUBPD,I_VHSUBPS,I_VHSUBPS,I_VHSUBPS,I_VHSUBPS,I_VINSERTF128,I_VINSERTF128,I_VINSERTF32X4,I_VINSERTF32X4,I_VINSERTF32X4 - ,I_VINSERTF32X4,I_VINSERTF32X8,I_VINSERTF32X8,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X4,I_VINSERTF64X4,I_VINSERTI128 - ,I_VINSERTI128,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X8,I_VINSERTI32X8,I_VINSERTI64X2,I_VINSERTI64X2,I_VINSERTI64X2 - ,I_VINSERTI64X2,I_VINSERTI64X4,I_VINSERTI64X4,I_VINSERTPS,I_VINSERTPS,I_VINSERTPS,I_VINSERTPS,I_VLDDQU,I_VLDDQU,I_VLDMXCSR - ,I_VMASKMOVDQU,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPS,I_VMASKMOVPS,I_VMASKMOVPS,I_VMASKMOVPS,I_VMAXPD - ,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPS - ,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXSD - ,I_VMAXSD,I_VMAXSD,I_VMAXSD,I_VMAXSS,I_VMAXSS,I_VMAXSS,I_VMAXSS,I_VMCALL,I_VMCLEAR,I_VMFUNC - ,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD - ,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS - ,I_VMINSD,I_VMINSD,I_VMINSD,I_VMINSD,I_VMINSS,I_VMINSS,I_VMINSS,I_VMINSS,I_VMLAUNCH,I_VMOVAPD + ,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SUB,I_SWAPGS + ,I_SYSCALL,I_SYSENTER,I_SYSEXIT,I_SYSRET,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST + ,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST,I_TEST + ,I_TZCNT,I_TZCNT,I_TZCNT,I_TZCNT,I_TZCNT,I_TZCNT,I_UCOMISD,I_UCOMISD,I_UCOMISS,I_UCOMISS + ,I_UD2,I_UNPCKHPD,I_UNPCKHPD,I_UNPCKHPS,I_UNPCKHPS,I_UNPCKLPD,I_UNPCKLPD,I_UNPCKLPS,I_UNPCKLPS,I_VADDPD + ,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPD,I_VADDPS + ,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDPS,I_VADDSD + ,I_VADDSD,I_VADDSD,I_VADDSD,I_VADDSS,I_VADDSS,I_VADDSS,I_VADDSS,I_VADDSUBPD,I_VADDSUBPD,I_VADDSUBPD + ,I_VADDSUBPD,I_VADDSUBPS,I_VADDSUBPS,I_VADDSUBPS,I_VADDSUBPS,I_VAESDECLAST,I_VAESDECLAST,I_VAESDEC,I_VAESDEC,I_VAESENCLAST + ,I_VAESENCLAST,I_VAESENC,I_VAESENC,I_VAESIMC,I_VAESIMC,I_VAESKEYGENASSIST,I_VAESKEYGENASSIST,I_VALIGND,I_VALIGND,I_VALIGND + ,I_VALIGND,I_VALIGND,I_VALIGND,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VALIGNQ,I_VANDNPD + ,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPD,I_VANDNPS + ,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDNPS,I_VANDPD + ,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPD,I_VANDPS + ,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VANDPS,I_VBLENDMPD + ,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPD,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS,I_VBLENDMPS + ,I_VBLENDMPS,I_VBLENDPD,I_VBLENDPD,I_VBLENDPD,I_VBLENDPD,I_VBLENDPS,I_VBLENDPS,I_VBLENDPS,I_VBLENDPS,I_VBLENDVPD + ,I_VBLENDVPD,I_VBLENDVPD,I_VBLENDVPD,I_VBLENDVPS,I_VBLENDVPS,I_VBLENDVPS,I_VBLENDVPS,I_VBROADCASTF128,I_VBROADCASTF32X2,I_VBROADCASTF32X2 + ,I_VBROADCASTF32X2,I_VBROADCASTF32X2,I_VBROADCASTF32X4,I_VBROADCASTF32X4,I_VBROADCASTF32X8,I_VBROADCASTF64X2,I_VBROADCASTF64X2,I_VBROADCASTF64X4,I_VBROADCASTI128,I_VBROADCASTI32X2 + ,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X2,I_VBROADCASTI32X4,I_VBROADCASTI32X8,I_VBROADCASTI64X2,I_VBROADCASTI64X2,I_VBROADCASTI64X4 + ,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSD,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS + ,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VBROADCASTSS,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD + ,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPD,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS + ,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPPS,I_VCMPSD,I_VCMPSD,I_VCMPSD,I_VCMPSD + ,I_VCMPSS,I_VCMPSS,I_VCMPSS,I_VCMPSS,I_VCOMISD,I_VCOMISD,I_VCOMISD,I_VCOMISD,I_VCOMISS,I_VCOMISS + ,I_VCOMISS,I_VCOMISS,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPD,I_VCOMPRESSPS,I_VCOMPRESSPS + ,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCOMPRESSPS,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD + ,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PD,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS + ,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTDQ2PS,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ + ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2DQ,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS + ,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2PS,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ,I_VCVTPD2QQ + ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UDQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPD2UQQ + ,I_VCVTPD2UQQ,I_VCVTPD2UQQ,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPH2PS + ,I_VCVTPH2PS,I_VCVTPH2PS,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2DQ + ,I_VCVTPS2DQ,I_VCVTPS2DQ,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PD + ,I_VCVTPS2PD,I_VCVTPS2PD,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2PH + ,I_VCVTPS2PH,I_VCVTPS2PH,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2QQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ + ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UDQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ,I_VCVTPS2UQQ + ,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PD,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTQQ2PS + ,I_VCVTQQ2PS,I_VCVTQQ2PS,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI,I_VCVTSD2SI + ,I_VCVTSD2SS,I_VCVTSD2SS,I_VCVTSD2SS,I_VCVTSD2SS,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSD2USI,I_VCVTSI2SD,I_VCVTSI2SD + ,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SD,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS + ,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSI2SS,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SD,I_VCVTSS2SI,I_VCVTSS2SI + ,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2SI,I_VCVTSS2USI,I_VCVTSS2USI,I_VCVTSS2USI,I_VCVTSS2USI + ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ,I_VCVTTPD2DQ + ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2QQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ + ,I_VCVTTPD2UDQ,I_VCVTTPD2UDQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPD2UQQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ + ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2DQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ + ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2QQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ,I_VCVTTPS2UDQ + ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTPS2UQQ,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI + ,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2SI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSD2USI,I_VCVTTSS2SI,I_VCVTTSS2SI + ,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2SI,I_VCVTTSS2USI,I_VCVTTSS2USI,I_VCVTTSS2USI,I_VCVTTSS2USI + ,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PD,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUDQ2PS + ,I_VCVTUDQ2PS,I_VCVTUDQ2PS,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PD,I_VCVTUQQ2PS,I_VCVTUQQ2PS + ,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUQQ2PS,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SD,I_VCVTUSI2SS,I_VCVTUSI2SS + ,I_VCVTUSI2SS,I_VCVTUSI2SS,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDBPSADBW,I_VDIVPD,I_VDIVPD + ,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPD,I_VDIVPS,I_VDIVPS + ,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVPS,I_VDIVSD,I_VDIVSD + ,I_VDIVSD,I_VDIVSD,I_VDIVSS,I_VDIVSS,I_VDIVSS,I_VDIVSS,I_VDPPD,I_VDPPD,I_VDPPS,I_VDPPS + ,I_VDPPS,I_VDPPS,I_VERR,I_VERR,I_VERW,I_VERW,I_VEXP2PD,I_VEXP2PD,I_VEXP2PS,I_VEXP2PS + ,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPD,I_VEXPANDPS,I_VEXPANDPS,I_VEXPANDPS,I_VEXPANDPS + ,I_VEXPANDPS,I_VEXPANDPS,I_VEXTRACTF128,I_VEXTRACTF128,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X4,I_VEXTRACTF32X8,I_VEXTRACTF32X8 + ,I_VEXTRACTF64X2,I_VEXTRACTF64X2,I_VEXTRACTF64X2,I_VEXTRACTF64X2,I_VEXTRACTF64X4,I_VEXTRACTF64X4,I_VEXTRACTI128,I_VEXTRACTI128,I_VEXTRACTI32X4,I_VEXTRACTI32X4 + ,I_VEXTRACTI32X4,I_VEXTRACTI32X4,I_VEXTRACTI32X8,I_VEXTRACTI32X8,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X2,I_VEXTRACTI64X4,I_VEXTRACTI64X4 + ,I_VEXTRACTPS,I_VEXTRACTPS,I_VEXTRACTPS,I_VEXTRACTPS,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD,I_VFIXUPIMMPD + ,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMPS,I_VFIXUPIMMSD,I_VFIXUPIMMSD,I_VFIXUPIMMSS,I_VFIXUPIMMSS + ,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD,I_VFMADD132PD + ,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS,I_VFMADD132PS + ,I_VFMADD132SD,I_VFMADD132SD,I_VFMADD132SD,I_VFMADD132SD,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD132SS,I_VFMADD213PD,I_VFMADD213PD + ,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PD,I_VFMADD213PS,I_VFMADD213PS + ,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213PS,I_VFMADD213SD,I_VFMADD213SD + ,I_VFMADD213SD,I_VFMADD213SD,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD213SS,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD + ,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PD,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS + ,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231PS,I_VFMADD231SD,I_VFMADD231SD,I_VFMADD231SD,I_VFMADD231SD + ,I_VFMADD231SS,I_VFMADD231SS,I_VFMADD231SS,I_VFMADD231SS,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD,I_VFMADDPD + ,I_VFMADDPD,I_VFMADDPD,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS,I_VFMADDPS + ,I_VFMADDSD,I_VFMADDSD,I_VFMADDSD,I_VFMADDSD,I_VFMADDSS,I_VFMADDSS,I_VFMADDSS,I_VFMADDSS,I_VFMADDSUB132PD,I_VFMADDSUB132PD + ,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PD,I_VFMADDSUB132PS,I_VFMADDSUB132PS + ,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB132PS,I_VFMADDSUB213PD,I_VFMADDSUB213PD + ,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PD,I_VFMADDSUB213PS,I_VFMADDSUB213PS + ,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB213PS,I_VFMADDSUB231PD,I_VFMADDSUB231PD + ,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PD,I_VFMADDSUB231PS,I_VFMADDSUB231PS + ,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUB231PS,I_VFMADDSUBPD,I_VFMADDSUBPD + ,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPD,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS + ,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMADDSUBPS,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD + ,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PD,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS + ,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132PS,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SD,I_VFMSUB132SS,I_VFMSUB132SS + ,I_VFMSUB132SS,I_VFMSUB132SS,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PD + ,I_VFMSUB213PD,I_VFMSUB213PD,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213PS + ,I_VFMSUB213PS,I_VFMSUB213PS,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SD,I_VFMSUB213SS,I_VFMSUB213SS,I_VFMSUB213SS,I_VFMSUB213SS + ,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD,I_VFMSUB231PD + ,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS,I_VFMSUB231PS + ,I_VFMSUB231SD,I_VFMSUB231SD,I_VFMSUB231SD,I_VFMSUB231SD,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUB231SS,I_VFMSUBADD132PD,I_VFMSUBADD132PD + ,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PD,I_VFMSUBADD132PS,I_VFMSUBADD132PS + ,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD132PS,I_VFMSUBADD213PD,I_VFMSUBADD213PD + ,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PD,I_VFMSUBADD213PS,I_VFMSUBADD213PS + ,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD213PS,I_VFMSUBADD231PD,I_VFMSUBADD231PD + ,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PD,I_VFMSUBADD231PS,I_VFMSUBADD231PS + ,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADD231PS,I_VFMSUBADDPD,I_VFMSUBADDPD + ,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPD,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS + ,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBADDPS,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPD + ,I_VFMSUBPD,I_VFMSUBPD,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS,I_VFMSUBPS + ,I_VFMSUBSD,I_VFMSUBSD,I_VFMSUBSD,I_VFMSUBSD,I_VFMSUBSS,I_VFMSUBSS,I_VFMSUBSS,I_VFMSUBSS,I_VFNMADD132PD,I_VFNMADD132PD + ,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PD,I_VFNMADD132PS,I_VFNMADD132PS + ,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132PS,I_VFNMADD132SD,I_VFNMADD132SD + ,I_VFNMADD132SD,I_VFNMADD132SD,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD132SS,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD + ,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PD,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS + ,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213PS,I_VFNMADD213SD,I_VFNMADD213SD,I_VFNMADD213SD,I_VFNMADD213SD + ,I_VFNMADD213SS,I_VFNMADD213SS,I_VFNMADD213SS,I_VFNMADD213SS,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD + ,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PD,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS + ,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231PS,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SD,I_VFNMADD231SS,I_VFNMADD231SS + ,I_VFNMADD231SS,I_VFNMADD231SS,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD,I_VFNMADDPD + ,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDPS,I_VFNMADDSD,I_VFNMADDSD + ,I_VFNMADDSD,I_VFNMADDSD,I_VFNMADDSS,I_VFNMADDSS,I_VFNMADDSS,I_VFNMADDSS,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD + ,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PD,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS + ,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132PS,I_VFNMSUB132SD,I_VFNMSUB132SD,I_VFNMSUB132SD,I_VFNMSUB132SD + ,I_VFNMSUB132SS,I_VFNMSUB132SS,I_VFNMSUB132SS,I_VFNMSUB132SS,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD + ,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PD,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS + ,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213PS,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SD,I_VFNMSUB213SS,I_VFNMSUB213SS + ,I_VFNMSUB213SS,I_VFNMSUB213SS,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PD + ,I_VFNMSUB231PD,I_VFNMSUB231PD,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231PS + ,I_VFNMSUB231PS,I_VFNMSUB231PS,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SD,I_VFNMSUB231SS,I_VFNMSUB231SS,I_VFNMSUB231SS,I_VFNMSUB231SS + ,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPD,I_VFNMSUBPS,I_VFNMSUBPS + ,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBPS,I_VFNMSUBSD,I_VFNMSUBSD,I_VFNMSUBSD,I_VFNMSUBSD + ,I_VFNMSUBSS,I_VFNMSUBSS,I_VFNMSUBSS,I_VFNMSUBSS,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD,I_VFPCLASSPD + ,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSPS,I_VFPCLASSSD,I_VFPCLASSSD,I_VFPCLASSSS,I_VFPCLASSSS + ,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPD,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS,I_VGATHERDPS + ,I_VGATHERPF0DPD,I_VGATHERPF0DPS,I_VGATHERPF0QPD,I_VGATHERPF0QPS,I_VGATHERPF1DPD,I_VGATHERPF1DPS,I_VGATHERPF1QPD,I_VGATHERPF1QPS,I_VGATHERQPD,I_VGATHERQPD + ,I_VGATHERQPD,I_VGATHERQPD,I_VGATHERQPD,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGATHERQPS,I_VGETEXPPD,I_VGETEXPPD + ,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPD,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS,I_VGETEXPPS + ,I_VGETEXPSD,I_VGETEXPSD,I_VGETEXPSS,I_VGETEXPSS,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD,I_VGETMANTPD + ,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTPS,I_VGETMANTSD,I_VGETMANTSD,I_VGETMANTSS,I_VGETMANTSS + ,I_VHADDPD,I_VHADDPD,I_VHADDPD,I_VHADDPD,I_VHADDPS,I_VHADDPS,I_VHADDPS,I_VHADDPS,I_VHSUBPD,I_VHSUBPD + ,I_VHSUBPD,I_VHSUBPD,I_VHSUBPS,I_VHSUBPS,I_VHSUBPS,I_VHSUBPS,I_VINSERTF128,I_VINSERTF128,I_VINSERTF32X4,I_VINSERTF32X4 + ,I_VINSERTF32X4,I_VINSERTF32X4,I_VINSERTF32X8,I_VINSERTF32X8,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X2,I_VINSERTF64X4,I_VINSERTF64X4 + ,I_VINSERTI128,I_VINSERTI128,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X4,I_VINSERTI32X8,I_VINSERTI32X8,I_VINSERTI64X2,I_VINSERTI64X2 + ,I_VINSERTI64X2,I_VINSERTI64X2,I_VINSERTI64X4,I_VINSERTI64X4,I_VINSERTPS,I_VINSERTPS,I_VINSERTPS,I_VINSERTPS,I_VLDDQU,I_VLDDQU + ,I_VLDMXCSR,I_VMASKMOVDQU,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPD,I_VMASKMOVPS,I_VMASKMOVPS,I_VMASKMOVPS,I_VMASKMOVPS + ,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD,I_VMAXPD + ,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS,I_VMAXPS + ,I_VMAXSD,I_VMAXSD,I_VMAXSD,I_VMAXSD,I_VMAXSS,I_VMAXSS,I_VMAXSS,I_VMAXSS,I_VMCALL,I_VMCLEAR + ,I_VMFUNC,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD,I_VMINPD + ,I_VMINPD,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS,I_VMINPS + ,I_VMINPS,I_VMINSD,I_VMINSD,I_VMINSD,I_VMINSD,I_VMINSS,I_VMINSS,I_VMINSS,I_VMINSS,I_VMLAUNCH ,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD - ,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS - ,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVDDUP - ,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDQA32 - ,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA64,I_VMOVDQA64 - ,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA,I_VMOVDQA,I_VMOVDQA - ,I_VMOVDQA,I_VMOVDQA,I_VMOVDQA,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16 - ,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32 - ,I_VMOVDQU32,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64 - ,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU - ,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVD - ,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVHLPS,I_VMOVHLPS,I_VMOVHPD,I_VMOVHPD,I_VMOVHPD,I_VMOVHPD,I_VMOVHPS - ,I_VMOVHPS,I_VMOVHPS,I_VMOVHPS,I_VMOVLHPS,I_VMOVLHPS,I_VMOVLPD,I_VMOVLPD,I_VMOVLPD,I_VMOVLPD,I_VMOVLPS - ,I_VMOVLPS,I_VMOVLPS,I_VMOVLPS,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPS,I_VMOVMSKPS,I_VMOVMSKPS - ,I_VMOVMSKPS,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQ,I_VMOVNTDQ,I_VMOVNTDQ,I_VMOVNTDQ - ,I_VMOVNTDQ,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPS,I_VMOVNTPS,I_VMOVNTPS,I_VMOVNTPS - ,I_VMOVNTPS,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ - ,I_VMOVQ,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP - ,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP - ,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSS,I_VMOVSS,I_VMOVSS - ,I_VMOVSS,I_VMOVSS,I_VMOVSS,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD - ,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPS,I_VMOVUPS + ,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPD,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS + ,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS,I_VMOVAPS + ,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP,I_VMOVDDUP + ,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA32,I_VMOVDQA64 + ,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA64,I_VMOVDQA,I_VMOVDQA + ,I_VMOVDQA,I_VMOVDQA,I_VMOVDQA,I_VMOVDQA,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16 + ,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU16,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU32 + ,I_VMOVDQU32,I_VMOVDQU32,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64,I_VMOVDQU64 + ,I_VMOVDQU64,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8,I_VMOVDQU8 + ,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVDQU,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVD + ,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVD,I_VMOVHLPS,I_VMOVHLPS,I_VMOVHPD,I_VMOVHPD,I_VMOVHPD,I_VMOVHPD + ,I_VMOVHPS,I_VMOVHPS,I_VMOVHPS,I_VMOVHPS,I_VMOVLHPS,I_VMOVLHPS,I_VMOVLPD,I_VMOVLPD,I_VMOVLPD,I_VMOVLPD + ,I_VMOVLPS,I_VMOVLPS,I_VMOVLPS,I_VMOVLPS,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPD,I_VMOVMSKPS,I_VMOVMSKPS + ,I_VMOVMSKPS,I_VMOVMSKPS,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQA,I_VMOVNTDQ,I_VMOVNTDQ,I_VMOVNTDQ + ,I_VMOVNTDQ,I_VMOVNTDQ,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPD,I_VMOVNTPS,I_VMOVNTPS,I_VMOVNTPS + ,I_VMOVNTPS,I_VMOVNTPS,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ,I_VMOVQ + ,I_VMOVQ,I_VMOVQ,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSD,I_VMOVSHDUP,I_VMOVSHDUP + ,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSHDUP,I_VMOVSLDUP,I_VMOVSLDUP + ,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSLDUP,I_VMOVSS,I_VMOVSS + ,I_VMOVSS,I_VMOVSS,I_VMOVSS,I_VMOVSS,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD + ,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPD,I_VMOVUPS ,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS - ,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMPSADBW,I_VMPSADBW,I_VMPSADBW,I_VMPSADBW,I_VMPTRLD,I_VMPTRST,I_VMREAD - ,I_VMREAD,I_VMRESUME,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD - ,I_VMULPD,I_VMULPD,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS - ,I_VMULPS,I_VMULPS,I_VMULSD,I_VMULSD,I_VMULSD,I_VMULSD,I_VMULSS,I_VMULSS,I_VMULSS,I_VMULSS - ,I_VMWRITE,I_VMWRITE,I_VMXOFF,I_VMXON,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPD - ,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VORPS - ,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB - ,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD - ,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSQ,I_VPABSQ,I_VPABSQ,I_VPABSQ,I_VPABSQ,I_VPABSQ - ,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW - ,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW - ,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB - ,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW - ,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB - ,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB - ,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD - ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ - ,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB - ,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW - ,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB - ,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW - ,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW - ,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR - ,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDND,I_VPANDND,I_VPANDND,I_VPANDND - ,I_VPANDND,I_VPANDND,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDN,I_VPANDN - ,I_VPANDN,I_VPANDN,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPAND,I_VPAND - ,I_VPAND,I_VPAND,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB - ,I_VPAVGB,I_VPAVGB,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW - ,I_VPAVGW,I_VPAVGW,I_VPBLENDD,I_VPBLENDD,I_VPBLENDD,I_VPBLENDD,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMB - ,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMQ,I_VPBLENDMQ - ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW - ,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDW,I_VPBLENDW,I_VPBLENDW,I_VPBLENDW,I_VPBROADCASTB,I_VPBROADCASTB + ,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMOVUPS,I_VMPSADBW,I_VMPSADBW,I_VMPSADBW,I_VMPSADBW,I_VMPTRLD,I_VMPTRST + ,I_VMREAD,I_VMREAD,I_VMRESUME,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPD + ,I_VMULPD,I_VMULPD,I_VMULPD,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULPS + ,I_VMULPS,I_VMULPS,I_VMULPS,I_VMULSD,I_VMULSD,I_VMULSD,I_VMULSD,I_VMULSS,I_VMULSS,I_VMULSS + ,I_VMULSS,I_VMWRITE,I_VMWRITE,I_VMXOFF,I_VMXON,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPD + ,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPD,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VORPS + ,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VORPS,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB + ,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSB,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD + ,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSD,I_VPABSQ,I_VPABSQ,I_VPABSQ,I_VPABSQ,I_VPABSQ + ,I_VPABSQ,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW,I_VPABSW + ,I_VPABSW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW,I_VPACKSSDW + ,I_VPACKSSDW,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB,I_VPACKSSWB + ,I_VPACKSSWB,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW,I_VPACKUSDW + ,I_VPACKUSDW,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB,I_VPACKUSWB + ,I_VPACKUSWB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB,I_VPADDB + ,I_VPADDB,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD,I_VPADDD + ,I_VPADDD,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ,I_VPADDQ + ,I_VPADDQ,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB,I_VPADDSB + ,I_VPADDSB,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW,I_VPADDSW + ,I_VPADDSW,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB,I_VPADDUSB + ,I_VPADDUSB,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW,I_VPADDUSW + ,I_VPADDUSW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW,I_VPADDW + ,I_VPADDW,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR,I_VPALIGNR + ,I_VPALIGNR,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDD,I_VPANDND,I_VPANDND,I_VPANDND + ,I_VPANDND,I_VPANDND,I_VPANDND,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDNQ,I_VPANDN + ,I_VPANDN,I_VPANDN,I_VPANDN,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPANDQ,I_VPAND + ,I_VPAND,I_VPAND,I_VPAND,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGB + ,I_VPAVGB,I_VPAVGB,I_VPAVGB,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPAVGW + ,I_VPAVGW,I_VPAVGW,I_VPAVGW,I_VPBLENDD,I_VPBLENDD,I_VPBLENDD,I_VPBLENDD,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMB + ,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMB,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMD,I_VPBLENDMQ + ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMQ,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW,I_VPBLENDMW + ,I_VPBLENDMW,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDVB,I_VPBLENDW,I_VPBLENDW,I_VPBLENDW,I_VPBLENDW,I_VPBROADCASTB ,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTB - ,I_VPBROADCASTB,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD - ,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTMB2Q,I_VPBROADCASTMB2Q,I_VPBROADCASTMB2Q,I_VPBROADCASTMW2D,I_VPBROADCASTMW2D,I_VPBROADCASTMW2D - ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ - ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW - ,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPCLMULQDQ,I_VPCLMULQDQ,I_VPCMOV,I_VPCMOV - ,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMPB,I_VPCMPB,I_VPCMPB,I_VPCMPB - ,I_VPCMPB,I_VPCMPB,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPEQB,I_VPCMPEQB - ,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQD,I_VPCMPEQD + ,I_VPBROADCASTB,I_VPBROADCASTB,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD + ,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTD,I_VPBROADCASTMB2Q,I_VPBROADCASTMB2Q,I_VPBROADCASTMB2Q,I_VPBROADCASTMW2D,I_VPBROADCASTMW2D + ,I_VPBROADCASTMW2D,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ + ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTQ,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW + ,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPBROADCASTW,I_VPCLMULQDQ,I_VPCLMULQDQ,I_VPCMOV + ,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMOV,I_VPCMPB,I_VPCMPB,I_VPCMPB + ,I_VPCMPB,I_VPCMPB,I_VPCMPB,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPD,I_VPCMPEQB + ,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQB,I_VPCMPEQD ,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD - ,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ + ,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQD,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ,I_VPCMPEQQ - ,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQUQ - ,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW - ,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPESTRI,I_VPCMPESTRI,I_VPCMPESTRM,I_VPCMPESTRM,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB - ,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD - ,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ - ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW - ,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPISTRI,I_VPCMPISTRI,I_VPCMPISTRM,I_VPCMPISTRM - ,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEQ - ,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUQ,I_VPCMPLEUQ - ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD - ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUD - ,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPNEQD,I_VPCMPNEQD - ,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ - ,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNEQUQ - ,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLEQ,I_VPCMPNLEQ - ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD - ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTD - ,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTUD,I_VPCMPNLTUD - ,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ - ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPUB,I_VPCMPUB,I_VPCMPUB,I_VPCMPUB - ,I_VPCMPUB,I_VPCMPUB,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUQ,I_VPCMPUQ - ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW - ,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCOMB,I_VPCOMB,I_VPCOMD,I_VPCOMD - ,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMPRESSQ - ,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMQ,I_VPCOMQ,I_VPCOMUB,I_VPCOMUB,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTD - ,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPERM2F128,I_VPERM2F128 - ,I_VPERM2I128,I_VPERM2I128,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMI2D,I_VPERMI2D - ,I_VPERMI2D,I_VPERMI2D,I_VPERMI2D,I_VPERMI2D,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD - ,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2Q - ,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMILPD,I_VPERMILPD + ,I_VPCMPEQQ,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUD,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQUQ + ,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQUQ,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW + ,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPEQW,I_VPCMPESTRI,I_VPCMPESTRI,I_VPCMPESTRM,I_VPCMPESTRM,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB + ,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTB,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD + ,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTD,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ + ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTQ,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW + ,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPGTW,I_VPCMPISTRI,I_VPCMPISTRI,I_VPCMPISTRM + ,I_VPCMPISTRM,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLED,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEQ + ,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEQ,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUD,I_VPCMPLEUQ + ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLEUQ,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD,I_VPCMPLTD + ,I_VPCMPLTD,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTQ,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUD + ,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUD,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPLTUQ,I_VPCMPNEQD + ,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQD,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ,I_VPCMPNEQQ + ,I_VPCMPNEQQ,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUD,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNEQUQ + ,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNEQUQ,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLED,I_VPCMPNLEQ + ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEQ,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD,I_VPCMPNLEUD + ,I_VPCMPNLEUD,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLEUQ,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTD + ,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTD,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTQ,I_VPCMPNLTUD + ,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUD,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ,I_VPCMPNLTUQ + ,I_VPCMPNLTUQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPQ,I_VPCMPUB,I_VPCMPUB,I_VPCMPUB + ,I_VPCMPUB,I_VPCMPUB,I_VPCMPUB,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUD,I_VPCMPUQ + ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUQ,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW,I_VPCMPUW + ,I_VPCMPUW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCMPW,I_VPCOMB,I_VPCOMB,I_VPCOMD + ,I_VPCOMD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSD,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMPRESSQ + ,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMPRESSQ,I_VPCOMQ,I_VPCOMQ,I_VPCOMUB,I_VPCOMUB,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTD + ,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTD,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPCONFLICTQ,I_VPERM2F128 + ,I_VPERM2F128,I_VPERM2I128,I_VPERM2I128,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMD,I_VPERMI2D + ,I_VPERMI2D,I_VPERMI2D,I_VPERMI2D,I_VPERMI2D,I_VPERMI2D,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD,I_VPERMI2PD + ,I_VPERMI2PD,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2PS,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2Q + ,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2Q,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMI2W,I_VPERMILPD ,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD - ,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPS,I_VPERMILPS + ,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPD,I_VPERMILPS ,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS - ,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMPD,I_VPERMPD - ,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPS,I_VPERMPS - ,I_VPERMPS,I_VPERMPS,I_VPERMPS,I_VPERMPS,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ - ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D - ,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2PS - ,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2W,I_VPERMT2W - ,I_VPERMT2W,I_VPERMT2W,I_VPERMT2W,I_VPERMT2W,I_VPERMW,I_VPERMW,I_VPERMW,I_VPERMW,I_VPERMW,I_VPERMW - ,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXPANDQ - ,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXTRB,I_VPEXTRB,I_VPEXTRB,I_VPEXTRB,I_VPEXTRD,I_VPEXTRD,I_VPEXTRD,I_VPEXTRD - ,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRW,I_VPEXTRW,I_VPEXTRW,I_VPEXTRW,I_VPGATHERDD,I_VPGATHERDD - ,I_VPGATHERDD,I_VPGATHERDD,I_VPGATHERDD,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERQD,I_VPGATHERQD - ,I_VPGATHERQD,I_VPGATHERQD,I_VPGATHERQD,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPHADDD,I_VPHADDD - ,I_VPHADDD,I_VPHADDD,I_VPHADDSW,I_VPHADDSW,I_VPHADDSW,I_VPHADDSW,I_VPHADDW,I_VPHADDW,I_VPHADDW,I_VPHADDW - ,I_VPHMINPOSUW,I_VPHMINPOSUW,I_VPHSUBD,I_VPHSUBD,I_VPHSUBD,I_VPHSUBD,I_VPHSUBSW,I_VPHSUBSW,I_VPHSUBSW,I_VPHSUBSW - ,I_VPHSUBW,I_VPHSUBW,I_VPHSUBW,I_VPHSUBW,I_VPINSRB,I_VPINSRB,I_VPINSRB,I_VPINSRB,I_VPINSRD,I_VPINSRD - ,I_VPINSRD,I_VPINSRD,I_VPINSRQ,I_VPINSRQ,I_VPINSRQ,I_VPINSRQ,I_VPINSRW,I_VPINSRW,I_VPINSRW,I_VPINSRW - ,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTQ,I_VPLZCNTQ,I_VPLZCNTQ,I_VPLZCNTQ - ,I_VPLZCNTQ,I_VPLZCNTQ,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW - ,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD - ,I_VPMADDWD,I_VPMADDWD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVQ,I_VPMASKMOVQ,I_VPMASKMOVQ,I_VPMASKMOVQ - ,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB - ,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD - ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW - ,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB - ,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD - ,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUQ - ,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW - ,I_VPMAXUW,I_VPMAXUW,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB - ,I_VPMINSB,I_VPMINSB,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD - ,I_VPMINSD,I_VPMINSD,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSW,I_VPMINSW - ,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINUB,I_VPMINUB - ,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUD,I_VPMINUD - ,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUQ,I_VPMINUQ - ,I_VPMINUQ,I_VPMINUQ,I_VPMINUQ,I_VPMINUQ,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW - ,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMOVB2M,I_VPMOVB2M,I_VPMOVB2M,I_VPMOVD2M,I_VPMOVD2M,I_VPMOVD2M - ,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDW,I_VPMOVDW,I_VPMOVDW,I_VPMOVDW - ,I_VPMOVDW,I_VPMOVDW,I_VPMOVM2B,I_VPMOVM2B,I_VPMOVM2B,I_VPMOVM2D,I_VPMOVM2D,I_VPMOVM2D,I_VPMOVM2Q,I_VPMOVM2Q - ,I_VPMOVM2Q,I_VPMOVM2W,I_VPMOVM2W,I_VPMOVM2W,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVQ2M,I_VPMOVQ2M - ,I_VPMOVQ2M,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQD,I_VPMOVQD,I_VPMOVQD - ,I_VPMOVQD,I_VPMOVQD,I_VPMOVQD,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVSDB - ,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSDW - ,I_VPMOVSDW,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQD - ,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSWB - ,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD - ,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ - ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW - ,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ - ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD - ,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ - ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDB - ,I_VPMOVUSDB,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQB - ,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQW - ,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVUSWB - ,I_VPMOVUSWB,I_VPMOVW2M,I_VPMOVW2M,I_VPMOVW2M,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB - ,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD - ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ - ,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW - ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ - ,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD - ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ - ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ - ,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW - ,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW - ,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW - ,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD - ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW - ,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ - ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPORD,I_VPORD,I_VPORD,I_VPORD - ,I_VPORD,I_VPORD,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPOR,I_VPOR - ,I_VPOR,I_VPOR,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLQ,I_VPROLQ - ,I_VPROLQ,I_VPROLQ,I_VPROLQ,I_VPROLQ,I_VPROLVD,I_VPROLVD,I_VPROLVD,I_VPROLVD,I_VPROLVD,I_VPROLVD - ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPRORD,I_VPRORD,I_VPRORD,I_VPRORD - ,I_VPRORD,I_VPRORD,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORVD,I_VPRORVD - ,I_VPRORVD,I_VPRORVD,I_VPRORVD,I_VPRORVD,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ - ,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW - ,I_VPSCATTERDD,I_VPSCATTERDD,I_VPSCATTERDD,I_VPSCATTERDQ,I_VPSCATTERDQ,I_VPSCATTERDQ,I_VPSCATTERQD,I_VPSCATTERQD,I_VPSCATTERQD,I_VPSCATTERQQ - ,I_VPSCATTERQQ,I_VPSCATTERQQ,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB - ,I_VPSHUFB,I_VPSHUFB,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD - ,I_VPSHUFD,I_VPSHUFD,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW - ,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW - ,I_VPSHUFLW,I_VPSHUFLW,I_VPSIGNB,I_VPSIGNB,I_VPSIGNB,I_VPSIGNB,I_VPSIGND,I_VPSIGND,I_VPSIGND,I_VPSIGND - ,I_VPSIGNW,I_VPSIGNW,I_VPSIGNW,I_VPSIGNW,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ - ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD + ,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMILPS,I_VPERMPD + ,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPD,I_VPERMPS + ,I_VPERMPS,I_VPERMPS,I_VPERMPS,I_VPERMPS,I_VPERMPS,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ + ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMQ,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D,I_VPERMT2D + ,I_VPERMT2D,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PD,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2PS + ,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2PS,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2Q,I_VPERMT2W + ,I_VPERMT2W,I_VPERMT2W,I_VPERMT2W,I_VPERMT2W,I_VPERMT2W,I_VPERMW,I_VPERMW,I_VPERMW,I_VPERMW,I_VPERMW + ,I_VPERMW,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDD,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXPANDQ + ,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXPANDQ,I_VPEXTRB,I_VPEXTRB,I_VPEXTRB,I_VPEXTRB,I_VPEXTRD,I_VPEXTRD,I_VPEXTRD + ,I_VPEXTRD,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRQ,I_VPEXTRW,I_VPEXTRW,I_VPEXTRW,I_VPEXTRW,I_VPGATHERDD + ,I_VPGATHERDD,I_VPGATHERDD,I_VPGATHERDD,I_VPGATHERDD,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERDQ,I_VPGATHERQD + ,I_VPGATHERQD,I_VPGATHERQD,I_VPGATHERQD,I_VPGATHERQD,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPGATHERQQ,I_VPHADDD + ,I_VPHADDD,I_VPHADDD,I_VPHADDD,I_VPHADDSW,I_VPHADDSW,I_VPHADDSW,I_VPHADDSW,I_VPHADDW,I_VPHADDW,I_VPHADDW + ,I_VPHADDW,I_VPHMINPOSUW,I_VPHMINPOSUW,I_VPHSUBD,I_VPHSUBD,I_VPHSUBD,I_VPHSUBD,I_VPHSUBSW,I_VPHSUBSW,I_VPHSUBSW + ,I_VPHSUBSW,I_VPHSUBW,I_VPHSUBW,I_VPHSUBW,I_VPHSUBW,I_VPINSRB,I_VPINSRB,I_VPINSRB,I_VPINSRB,I_VPINSRD + ,I_VPINSRD,I_VPINSRD,I_VPINSRD,I_VPINSRQ,I_VPINSRQ,I_VPINSRQ,I_VPINSRQ,I_VPINSRW,I_VPINSRW,I_VPINSRW + ,I_VPINSRW,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTD,I_VPLZCNTQ,I_VPLZCNTQ,I_VPLZCNTQ + ,I_VPLZCNTQ,I_VPLZCNTQ,I_VPLZCNTQ,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW + ,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDUBSW,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD + ,I_VPMADDWD,I_VPMADDWD,I_VPMADDWD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVD,I_VPMASKMOVQ,I_VPMASKMOVQ,I_VPMASKMOVQ + ,I_VPMASKMOVQ,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB,I_VPMAXSB + ,I_VPMAXSB,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD,I_VPMAXSD + ,I_VPMAXSD,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSQ,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW + ,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXSW,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB + ,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUB,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD + ,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUD,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUQ + ,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUQ,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW + ,I_VPMAXUW,I_VPMAXUW,I_VPMAXUW,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSB + ,I_VPMINSB,I_VPMINSB,I_VPMINSB,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSD + ,I_VPMINSD,I_VPMINSD,I_VPMINSD,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSQ,I_VPMINSW + ,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINSW,I_VPMINUB + ,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUB,I_VPMINUD + ,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUD,I_VPMINUQ + ,I_VPMINUQ,I_VPMINUQ,I_VPMINUQ,I_VPMINUQ,I_VPMINUQ,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW + ,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMINUW,I_VPMOVB2M,I_VPMOVB2M,I_VPMOVB2M,I_VPMOVD2M,I_VPMOVD2M + ,I_VPMOVD2M,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDB,I_VPMOVDW,I_VPMOVDW,I_VPMOVDW + ,I_VPMOVDW,I_VPMOVDW,I_VPMOVDW,I_VPMOVM2B,I_VPMOVM2B,I_VPMOVM2B,I_VPMOVM2D,I_VPMOVM2D,I_VPMOVM2D,I_VPMOVM2Q + ,I_VPMOVM2Q,I_VPMOVM2Q,I_VPMOVM2W,I_VPMOVM2W,I_VPMOVM2W,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVMSKB,I_VPMOVQ2M + ,I_VPMOVQ2M,I_VPMOVQ2M,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQB,I_VPMOVQD,I_VPMOVQD + ,I_VPMOVQD,I_VPMOVQD,I_VPMOVQD,I_VPMOVQD,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW,I_VPMOVQW + ,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDB,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSDW + ,I_VPMOVSDW,I_VPMOVSDW,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQB,I_VPMOVSQD,I_VPMOVSQD + ,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQD,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW,I_VPMOVSQW + ,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSWB,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD + ,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBD,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ + ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBQ,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW + ,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXBW,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ + ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXDQ,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD + ,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWD,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ + ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVSXWQ,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDB + ,I_VPMOVUSDB,I_VPMOVUSDB,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSDW,I_VPMOVUSQB,I_VPMOVUSQB + ,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQB,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD,I_VPMOVUSQD + ,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSQW,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVUSWB + ,I_VPMOVUSWB,I_VPMOVUSWB,I_VPMOVW2M,I_VPMOVW2M,I_VPMOVW2M,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB,I_VPMOVWB + ,I_VPMOVWB,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD,I_VPMOVZXBD + ,I_VPMOVZXBD,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ,I_VPMOVZXBQ + ,I_VPMOVZXBQ,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW,I_VPMOVZXBW + ,I_VPMOVZXBW,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ,I_VPMOVZXDQ + ,I_VPMOVZXDQ,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD,I_VPMOVZXWD + ,I_VPMOVZXWD,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ,I_VPMOVZXWQ + ,I_VPMOVZXWQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ,I_VPMULDQ + ,I_VPMULDQ,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW,I_VPMULHRSW + ,I_VPMULHRSW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW,I_VPMULHUW + ,I_VPMULHUW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW,I_VPMULHW + ,I_VPMULHW,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD,I_VPMULLD + ,I_VPMULLD,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLQ,I_VPMULLW,I_VPMULLW,I_VPMULLW + ,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULLW,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ + ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPMULUDQ,I_VPORD,I_VPORD,I_VPORD + ,I_VPORD,I_VPORD,I_VPORD,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPORQ,I_VPOR + ,I_VPOR,I_VPOR,I_VPOR,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLD,I_VPROLQ + ,I_VPROLQ,I_VPROLQ,I_VPROLQ,I_VPROLQ,I_VPROLQ,I_VPROLVD,I_VPROLVD,I_VPROLVD,I_VPROLVD,I_VPROLVD + ,I_VPROLVD,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPROLVQ,I_VPRORD,I_VPRORD,I_VPRORD + ,I_VPRORD,I_VPRORD,I_VPRORD,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORQ,I_VPRORVD + ,I_VPRORVD,I_VPRORVD,I_VPRORVD,I_VPRORVD,I_VPRORVD,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ,I_VPRORVQ + ,I_VPRORVQ,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW,I_VPSADBW + ,I_VPSADBW,I_VPSCATTERDD,I_VPSCATTERDD,I_VPSCATTERDD,I_VPSCATTERDQ,I_VPSCATTERDQ,I_VPSCATTERDQ,I_VPSCATTERQD,I_VPSCATTERQD,I_VPSCATTERQD + ,I_VPSCATTERQQ,I_VPSCATTERQQ,I_VPSCATTERQQ,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB + ,I_VPSHUFB,I_VPSHUFB,I_VPSHUFB,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD + ,I_VPSHUFD,I_VPSHUFD,I_VPSHUFD,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW + ,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFHW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW + ,I_VPSHUFLW,I_VPSHUFLW,I_VPSHUFLW,I_VPSIGNB,I_VPSIGNB,I_VPSIGNB,I_VPSIGNB,I_VPSIGND,I_VPSIGND,I_VPSIGND + ,I_VPSIGND,I_VPSIGNW,I_VPSIGNW,I_VPSIGNW,I_VPSIGNW,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ + ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLDQ,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD ,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD,I_VPSLLD - ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ - ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLVD,I_VPSLLVD - ,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVQ,I_VPSLLVQ - ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVW,I_VPSLLVW - ,I_VPSLLVW,I_VPSLLVW,I_VPSLLVW,I_VPSLLVW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW + ,I_VPSLLD,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ + ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLQ,I_VPSLLVD + ,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVD,I_VPSLLVQ + ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVQ,I_VPSLLVW + ,I_VPSLLVW,I_VPSLLVW,I_VPSLLVW,I_VPSLLVW,I_VPSLLVW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW ,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSLLW - ,I_VPSLLW,I_VPSLLW,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD + ,I_VPSLLW,I_VPSLLW,I_VPSLLW,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD ,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD,I_VPSRAD - ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ - ,I_VPSRAQ,I_VPSRAQ,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD - ,I_VPSRAVD,I_VPSRAVD,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVW,I_VPSRAVW - ,I_VPSRAVW,I_VPSRAVW,I_VPSRAVW,I_VPSRAVW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW + ,I_VPSRAD,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ + ,I_VPSRAQ,I_VPSRAQ,I_VPSRAQ,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD + ,I_VPSRAVD,I_VPSRAVD,I_VPSRAVD,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVQ,I_VPSRAVW + ,I_VPSRAVW,I_VPSRAVW,I_VPSRAVW,I_VPSRAVW,I_VPSRAVW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW ,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRAW - ,I_VPSRAW,I_VPSRAW,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ - ,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD - ,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLQ,I_VPSRLQ + ,I_VPSRAW,I_VPSRAW,I_VPSRAW,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ,I_VPSRLDQ + ,I_VPSRLDQ,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD + ,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLD,I_VPSRLQ ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ - ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD - ,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ - ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVW,I_VPSRLVW,I_VPSRLVW,I_VPSRLVW - ,I_VPSRLVW,I_VPSRLVW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW + ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLQ,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD + ,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVD,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ + ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVQ,I_VPSRLVW,I_VPSRLVW,I_VPSRLVW + ,I_VPSRLVW,I_VPSRLVW,I_VPSRLVW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW ,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW,I_VPSRLW - ,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB - ,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD - ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ - ,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB - ,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW - ,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB - ,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW - ,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW - ,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTERNLOGQ - ,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMD,I_VPTESTMD - ,I_VPTESTMD,I_VPTESTMD,I_VPTESTMD,I_VPTESTMD,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ - ,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMB - ,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMQ,I_VPTESTNMQ - ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW - ,I_VPTEST,I_VPTEST,I_VPTEST,I_VPTEST,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW - ,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ - ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ - ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD - ,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW - ,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ - ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ - ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD - ,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPXORD,I_VPXORD,I_VPXORD,I_VPXORD,I_VPXORD,I_VPXORD - ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXOR,I_VPXOR,I_VPXOR,I_VPXOR - ,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPS,I_VRANGEPS,I_VRANGEPS,I_VRANGEPS - ,I_VRANGEPS,I_VRANGEPS,I_VRANGESD,I_VRANGESD,I_VRANGESS,I_VRANGESS,I_VRCP14PD,I_VRCP14PD,I_VRCP14PD,I_VRCP14PD - ,I_VRCP14PD,I_VRCP14PD,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14SD,I_VRCP14SD - ,I_VRCP14SS,I_VRCP14SS,I_VRCP28PD,I_VRCP28PD,I_VRCP28PS,I_VRCP28PS,I_VRCP28SD,I_VRCP28SD,I_VRCP28SS,I_VRCP28SS - ,I_VRCPPS,I_VRCPPS,I_VRCPPS,I_VRCPPS,I_VRCPSS,I_VRCPSS,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPD - ,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCESS,I_VREDUCESS - ,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALEPS - ,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALESD,I_VRNDSCALESD,I_VRNDSCALESS,I_VRNDSCALESS,I_VROUNDPD,I_VROUNDPD,I_VROUNDPD,I_VROUNDPD - ,I_VROUNDPS,I_VROUNDPS,I_VROUNDPS,I_VROUNDPS,I_VROUNDSD,I_VROUNDSD,I_VROUNDSS,I_VROUNDSS,I_VRSQRT14PD,I_VRSQRT14PD - ,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS - ,I_VRSQRT14SD,I_VRSQRT14SD,I_VRSQRT14SS,I_VRSQRT14SS,I_VRSQRT28PD,I_VRSQRT28PD,I_VRSQRT28PS,I_VRSQRT28PS,I_VRSQRT28SD,I_VRSQRT28SD - ,I_VRSQRT28SS,I_VRSQRT28SS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTSS,I_VRSQRTSS,I_VSCALEFPD,I_VSCALEFPD - ,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS - ,I_VSCALEFSD,I_VSCALEFSD,I_VSCALEFSS,I_VSCALEFSS,I_VSCATTERDPD,I_VSCATTERDPD,I_VSCATTERDPD,I_VSCATTERDPS,I_VSCATTERDPS,I_VSCATTERDPS - ,I_VSCATTERPF0DPD,I_VSCATTERPF0DPS,I_VSCATTERPF0QPD,I_VSCATTERPF0QPS,I_VSCATTERPF1DPD,I_VSCATTERPF1DPS,I_VSCATTERPF1QPD,I_VSCATTERPF1QPS,I_VSCATTERQPD,I_VSCATTERQPD - ,I_VSCATTERQPD,I_VSCATTERQPS,I_VSCATTERQPS,I_VSCATTERQPS,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF64X2,I_VSHUFF64X2 - ,I_VSHUFF64X2,I_VSHUFF64X2,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI64X2,I_VSHUFI64X2,I_VSHUFI64X2,I_VSHUFI64X2 - ,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD - ,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS - ,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD - ,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS - ,I_VSQRTSD,I_VSQRTSD,I_VSQRTSD,I_VSQRTSD,I_VSQRTSS,I_VSQRTSS,I_VSQRTSS,I_VSQRTSS,I_VSTMXCSR,I_VSUBPD - ,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPS - ,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBSD - ,I_VSUBSD,I_VSUBSD,I_VSUBSD,I_VSUBSS,I_VSUBSS,I_VSUBSS,I_VSUBSS,I_VTESTPD,I_VTESTPD,I_VTESTPD - ,I_VTESTPD,I_VTESTPS,I_VTESTPS,I_VTESTPS,I_VTESTPS,I_VUCOMISD,I_VUCOMISD,I_VUCOMISD,I_VUCOMISD,I_VUCOMISS - ,I_VUCOMISS,I_VUCOMISS,I_VUCOMISS,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD - ,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS - ,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD - ,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS - ,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD - ,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS - ,I_VXORPS,I_VXORPS,I_VXORPS,I_VZEROALL,I_VZEROUPPER,I_WAIT,I_WBINVD,I_WRFSBASE,I_WRFSBASE,I_WRGSBASE - ,I_WRGSBASE,I_WRMSR,I_XABORT,I_XADD,I_XADD,I_XADD,I_XADD,I_XADD,I_XADD,I_XADD - ,I_XADD,I_XBEGIN,I_XBEGIN,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG - ,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XEND,I_XGETBV,I_XLAT,I_XORPD,I_XORPD - ,I_XORPS,I_XORPS,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR + ,I_VPSRLW,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB,I_VPSUBB + ,I_VPSUBB,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD,I_VPSUBD + ,I_VPSUBD,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ,I_VPSUBQ + ,I_VPSUBQ,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB,I_VPSUBSB + ,I_VPSUBSB,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW,I_VPSUBSW + ,I_VPSUBSW,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB,I_VPSUBUSB + ,I_VPSUBUSB,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW,I_VPSUBUSW + ,I_VPSUBUSW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW,I_VPSUBW + ,I_VPSUBW,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGD,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTERNLOGQ + ,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTERNLOGQ,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMB,I_VPTESTMD + ,I_VPTESTMD,I_VPTESTMD,I_VPTESTMD,I_VPTESTMD,I_VPTESTMD,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ,I_VPTESTMQ + ,I_VPTESTMQ,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTMW,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMB + ,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMB,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMD,I_VPTESTNMQ + ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMQ,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW,I_VPTESTNMW + ,I_VPTESTNMW,I_VPTEST,I_VPTEST,I_VPTEST,I_VPTEST,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW + ,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHBW,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ + ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ + ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHQDQ,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD + ,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKHWD,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW + ,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLBW,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ + ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ + ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLQDQ,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD + ,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPUNPCKLWD,I_VPXORD,I_VPXORD,I_VPXORD,I_VPXORD,I_VPXORD + ,I_VPXORD,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXORQ,I_VPXOR,I_VPXOR,I_VPXOR + ,I_VPXOR,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPD,I_VRANGEPS,I_VRANGEPS,I_VRANGEPS + ,I_VRANGEPS,I_VRANGEPS,I_VRANGEPS,I_VRANGESD,I_VRANGESD,I_VRANGESS,I_VRANGESS,I_VRCP14PD,I_VRCP14PD,I_VRCP14PD + ,I_VRCP14PD,I_VRCP14PD,I_VRCP14PD,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14PS,I_VRCP14SD + ,I_VRCP14SD,I_VRCP14SS,I_VRCP14SS,I_VRCP28PD,I_VRCP28PD,I_VRCP28PS,I_VRCP28PS,I_VRCP28SD,I_VRCP28SD,I_VRCP28SS + ,I_VRCP28SS,I_VRCPPS,I_VRCPPS,I_VRCPPS,I_VRCPPS,I_VRCPSS,I_VRCPSS,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPD + ,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPD,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCEPS,I_VREDUCESS + ,I_VREDUCESS,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPD,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALEPS + ,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALEPS,I_VRNDSCALESD,I_VRNDSCALESD,I_VRNDSCALESS,I_VRNDSCALESS,I_VROUNDPD,I_VROUNDPD,I_VROUNDPD + ,I_VROUNDPD,I_VROUNDPS,I_VROUNDPS,I_VROUNDPS,I_VROUNDPS,I_VROUNDSD,I_VROUNDSD,I_VROUNDSS,I_VROUNDSS,I_VRSQRT14PD + ,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PD,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS,I_VRSQRT14PS + ,I_VRSQRT14PS,I_VRSQRT14SD,I_VRSQRT14SD,I_VRSQRT14SS,I_VRSQRT14SS,I_VRSQRT28PD,I_VRSQRT28PD,I_VRSQRT28PS,I_VRSQRT28PS,I_VRSQRT28SD + ,I_VRSQRT28SD,I_VRSQRT28SS,I_VRSQRT28SS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTPS,I_VRSQRTSS,I_VRSQRTSS,I_VSCALEFPD + ,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPD,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS,I_VSCALEFPS + ,I_VSCALEFPS,I_VSCALEFSD,I_VSCALEFSD,I_VSCALEFSS,I_VSCALEFSS,I_VSCATTERDPD,I_VSCATTERDPD,I_VSCATTERDPD,I_VSCATTERDPS,I_VSCATTERDPS + ,I_VSCATTERDPS,I_VSCATTERPF0DPD,I_VSCATTERPF0DPS,I_VSCATTERPF0QPD,I_VSCATTERPF0QPS,I_VSCATTERPF1DPD,I_VSCATTERPF1DPS,I_VSCATTERPF1QPD,I_VSCATTERPF1QPS,I_VSCATTERQPD + ,I_VSCATTERQPD,I_VSCATTERQPD,I_VSCATTERQPS,I_VSCATTERQPS,I_VSCATTERQPS,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF32X4,I_VSHUFF64X2 + ,I_VSHUFF64X2,I_VSHUFF64X2,I_VSHUFF64X2,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI32X4,I_VSHUFI64X2,I_VSHUFI64X2,I_VSHUFI64X2 + ,I_VSHUFI64X2,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD,I_VSHUFPD + ,I_VSHUFPD,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS,I_VSHUFPS + ,I_VSHUFPS,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD,I_VSQRTPD + ,I_VSQRTPD,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS,I_VSQRTPS + ,I_VSQRTPS,I_VSQRTSD,I_VSQRTSD,I_VSQRTSD,I_VSQRTSD,I_VSQRTSS,I_VSQRTSS,I_VSQRTSS,I_VSQRTSS,I_VSTMXCSR + ,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD,I_VSUBPD + ,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS,I_VSUBPS + ,I_VSUBSD,I_VSUBSD,I_VSUBSD,I_VSUBSD,I_VSUBSS,I_VSUBSS,I_VSUBSS,I_VSUBSS,I_VTESTPD,I_VTESTPD + ,I_VTESTPD,I_VTESTPD,I_VTESTPS,I_VTESTPS,I_VTESTPS,I_VTESTPS,I_VUCOMISD,I_VUCOMISD,I_VUCOMISD,I_VUCOMISD + ,I_VUCOMISS,I_VUCOMISS,I_VUCOMISS,I_VUCOMISS,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD + ,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPD,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS + ,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKHPS,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD + ,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPD,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS + ,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VUNPCKLPS,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD + ,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPD,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS + ,I_VXORPS,I_VXORPS,I_VXORPS,I_VXORPS,I_VZEROALL,I_VZEROUPPER,I_WAIT,I_WBINVD,I_WRFSBASE,I_WRFSBASE + ,I_WRGSBASE,I_WRGSBASE,I_WRMSR,I_XABORT,I_XADD,I_XADD,I_XADD,I_XADD,I_XADD,I_XADD + ,I_XADD,I_XADD,I_XBEGIN,I_XBEGIN,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG + ,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XCHG,I_XEND,I_XGETBV,I_XLAT,I_XORPD + ,I_XORPD,I_XORPS,I_XORPS,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR ,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR - ,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XRSTOR64,I_XRSTOR - ,I_XSAVE64,I_XSAVEOPT64,I_XSAVEOPT,I_XSAVE,I_XSETBV,I_XTEST + ,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XOR,I_XRSTOR64 + ,I_XRSTOR,I_XSAVE64,I_XSAVEOPT64,I_XSAVEOPT,I_XSAVE,I_XSETBV,I_XTEST }; -uint8_t x86_64_variants_nboprnd[6238] = {0,2 +uint8_t x86_64_variants_nboprnd[6249] = {0,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,1,0,0,0,1,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,3,3,3,3,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,1,0,0,0,1,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1 - ,1,1,3,3,3,3,0,2,3,3,0,0,2,1,1,2,2,1,1,0,0,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,0,0,2,2,1,1,2,2,1,1,2,2 - ,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,1,1,2,1,1,2,2 - ,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1,1,2,2,0,2,2,0,1 - ,1,0,0,1,1,1,0,0,0,0,2,2,2,2,0,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,1,2,1,3,3,3,3,2,1,2,1,3,3,3,3,2,1,2 - ,1,1,1,1,1,1,1,1,1,1,1,3,3,2,2,2,1,0,2,1,2,2,2,2,2,2,2,2,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 - ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3 - ,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,2 - ,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,1,1,2,1,0,0,2,2,2,0,2,2,2,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1 - ,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2 + ,2,2,1,1,1,1,1,1,1,1,3,3,3,3,0,2,3,3,0,0,2,1,1,2,2,1,1,0,0,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,0,0,2,2 + ,1,1,2,2,1,1,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1 + ,1,1,1,2,1,1,2,2,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1 + ,1,2,2,0,2,2,0,1,1,0,0,1,1,1,0,0,0,0,2,2,2,2,0,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,1,2,1,3,3,3,3,2,1,2 + ,1,3,3,3,3,2,1,2,1,1,1,1,1,1,1,1,1,1,1,3,3,2,2,2,1,0,2,1,2,2,2,2,2,2,2,2,0,0,0,1,1,1,1,1,1,1,1,1,1,1 + ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + ,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,3,3 + ,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,1,1,2,1,0,0,2,2,2,0,2,2,2,1,2,2,2,1,1,1,1,1 + ,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,0 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2 - ,2,3,3,3,3,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 + ,3,2,2,2,2,2,2,2,2,3,3,3,3,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,0,2,2,2,2,2 - ,2,2,2,2,2,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2 + ,2,2,0,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3 + ,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,1,1,1,1 - ,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,0,0,1,1,1,1,1,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,1,1,1,1,0,0,1,1,1,0,0,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,0,1 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,0,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 - ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,1,1,1 - ,1,1,1,1,2,2,2,2,2,2,2,2,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,4,4,4,4 - ,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,1,1,1,1,0,0,1,1,1,1,1,1,0,0,2,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,1,1,1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3 + ,3,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,3,3,3,3,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,0,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,2,2,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 + ,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 - ,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3 - ,3,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,1,1,1,1,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3 + ,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4 + ,4,4,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4 + ,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4 + ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,2,2,2,1,1,1,1,1,1,1,1,3,3,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,0,1,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,2,2,2,2,2,2,2,2,2,2,2 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 + ,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,2,2,2,1,1,1,1,1,1,1,1,3,3,2,2,2,3,3,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4 + ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,3,3,3,2,3,2,3,2,3,2,3,3,3,2,3,2,3,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,1,1,2,2,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,2,2,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,3,2,3,2,3,2,3,3,3,2,3,2,3,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,3,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,1,1,2,2,0,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2 - ,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 + ,4,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,3,2,2,2,3,3 - ,2,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 - ,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,2,2,2,3,3,2,2,2,3,3,2,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4 + ,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3 + ,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2 - ,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4 + ,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4 - ,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4 - ,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,3 - ,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,4,4,4,4,4,4 - ,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2 - ,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 - ,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,1,1,1,1,0,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,2,2 - ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0 + ,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,3,3,3,3,3,3,3,3,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2 + ,2,3,3,3,3,2,2,2,2,3,3,3,3,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,1,1,1,1,1,1,1,1,2 + ,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2 + ,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 + ,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,1,1,1,1,0,1,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2 + ,2,2,2,2,2,2,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0 }; #ifndef x86_64_TMPL_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF #define x86_64_TMPL_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF NULL @@ -2110,6 +2113,10 @@ oprnd_t* x86_64_oprndtmpls[88] = {NULL, x86_64_TMPL_OPRN_RELATIVE_LONG_ROLE_UNDEF, x86_64_TMPL_OPRN_RELATIVE_WORD_ROLE_UNDEF }; +uint16_t x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_MEMORY_MEM32b_READ_OPRN_REGISTER_STDLONG_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM32b_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_READ_OPRN_REGISTER_STDLONG_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_MEMORY_MEM64b_READ_OPRN_REGISTER_STDQUAD_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM64b_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_READ_OPRN_REGISTER_STDQUAD_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_WRITE_ID}; uint16_t x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_OPRN_MEMORY_MEM16b_READ_WRITE[2] = {x86_64_TMPL_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_ID, x86_64_TMPL_OPRN_MEMORY_MEM16b_READ_WRITE_ID}; uint16_t x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_OPRN_REGISTER_STDWORD_READ_WRITE[2] = {x86_64_TMPL_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_ID, x86_64_TMPL_OPRN_REGISTER_STDWORD_READ_WRITE_ID}; uint16_t x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_WORD_ROLE_UNDEF_OPRN_MEMORY_MEM16b_READ_WRITE[2] = {x86_64_TMPL_OPRN_IMMEDIATE_WORD_ROLE_UNDEF_ID, x86_64_TMPL_OPRN_MEMORY_MEM16b_READ_WRITE_ID}; @@ -2180,6 +2187,10 @@ uint16_t x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN uint16_t x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_MEMORY_MEM8b_READ_OPRN_REGISTER_STDBYTE_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM8b_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDBYTE_READ_WRITE_ID}; uint16_t x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_REGISTER_STDBYTE_READ_OPRN_MEMORY_MEM8b_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDBYTE_READ_ID, x86_64_TMPL_OPRN_MEMORY_MEM8b_READ_WRITE_ID}; uint16_t x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_REGISTER_STDBYTE_READ_OPRN_REGISTER_STDBYTE_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDBYTE_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDBYTE_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_MEMORY_MEM32b_READ_OPRN_REGISTER_STDLONG_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM32b_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_READ_OPRN_REGISTER_STDLONG_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDLONG_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_MEMORY_MEM64b_READ_OPRN_REGISTER_STDQUAD_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM64b_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_WRITE_ID}; +uint16_t x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_READ_OPRN_REGISTER_STDQUAD_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_ID, x86_64_TMPL_OPRN_REGISTER_STDQUAD_READ_WRITE_ID}; uint16_t x86_64_TMPL_AESDECLAST_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_MEMORY_MEM128b_READ_OPRN_REGISTER_XMM_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM128b_READ_ID, x86_64_TMPL_OPRN_REGISTER_XMM_READ_WRITE_ID}; uint16_t x86_64_TMPL_AESDECLAST_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_REGISTER_XMM_READ_OPRN_REGISTER_XMM_READ_WRITE[2] = {x86_64_TMPL_OPRN_REGISTER_XMM_READ_ID, x86_64_TMPL_OPRN_REGISTER_XMM_READ_WRITE_ID}; uint16_t x86_64_TMPL_AESDEC_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_MEMORY_MEM128b_READ_OPRN_REGISTER_XMM_READ_WRITE[2] = {x86_64_TMPL_OPRN_MEMORY_MEM128b_READ_ID, x86_64_TMPL_OPRN_REGISTER_XMM_READ_WRITE_ID}; @@ -3802,6 +3813,9 @@ uint16_t x86_64_TMPL_RDGSBASE_FSGSBASE_FM_LOAD_A_NA_S_NO_T_UNDEF_DATASZ_64b_DATA uint16_t x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_16b_DATASZ_UNDEF_OPRN_REGISTER_STDWORD_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDWORD_WRITE_ID}; uint16_t x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDLONG_WRITE_ID}; uint16_t x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDQUAD_WRITE_ID}; +uint16_t x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_16b_DATASZ_UNDEF_OPRN_REGISTER_STDWORD_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDWORD_WRITE_ID}; +uint16_t x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDLONG_WRITE_ID}; +uint16_t x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_WRITE[1] = {x86_64_TMPL_OPRN_REGISTER_STDQUAD_WRITE_ID}; uint16_t x86_64_TMPL_REPE_CMPS_8086_FM_CMP_A_NA_S_NO_T_STR_DATASZ_16b_DATASZ_UNDEF_OPRN_MEMORY_MEM16b_READ_OPRN_MEMORY_MEM16b_READ[2] = {x86_64_TMPL_OPRN_MEMORY_MEM16b_READ_ID, x86_64_TMPL_OPRN_MEMORY_MEM16b_READ_ID}; uint16_t x86_64_TMPL_REPE_CMPS_8086_FM_CMP_A_NA_S_NO_T_STR_DATASZ_32b_DATASZ_UNDEF_OPRN_MEMORY_MEM32b_READ_OPRN_MEMORY_MEM32b_READ[2] = {x86_64_TMPL_OPRN_MEMORY_MEM32b_READ_ID, x86_64_TMPL_OPRN_MEMORY_MEM32b_READ_ID}; uint16_t x86_64_TMPL_REPE_CMPS_8086_FM_CMP_A_NA_S_NO_T_STR_DATASZ_64b_DATASZ_UNDEF_OPRN_MEMORY_MEM64b_READ_OPRN_MEMORY_MEM64b_READ[2] = {x86_64_TMPL_OPRN_MEMORY_MEM64b_READ_ID, x86_64_TMPL_OPRN_MEMORY_MEM64b_READ_ID}; @@ -8250,7 +8264,11 @@ uint16_t x86_64_TMPL_XSAVE64_8086_FM_ENV_A_NA_S_NO_T_UNDEF_DATASZ_UNDEF_DATASZ_U uint16_t x86_64_TMPL_XSAVEOPT64_XSAVEOPT_FM_ENV_A_NA_S_NO_T_UNDEF_DATASZ_UNDEF_DATASZ_UNDEF_OPRN_MEMORY_MEM_WRITE[1] = {x86_64_TMPL_OPRN_MEMORY_MEM_WRITE_ID}; uint16_t x86_64_TMPL_XSAVEOPT_XSAVEOPT_FM_ENV_A_NA_S_NO_T_UNDEF_DATASZ_UNDEF_DATASZ_UNDEF_OPRN_MEMORY_MEM_WRITE[1] = {x86_64_TMPL_OPRN_MEMORY_MEM_WRITE_ID}; uint16_t x86_64_TMPL_XSAVE_8086_FM_ENV_A_NA_S_NO_T_UNDEF_DATASZ_UNDEF_DATASZ_UNDEF_OPRN_MEMORY_MEM_WRITE[1] = {x86_64_TMPL_OPRN_MEMORY_MEM_WRITE_ID}; -uint16_t* x86_64_variants_oprndtmpl[6238] = {NULL, +uint16_t* x86_64_variants_oprndtmpl[6249] = {NULL, + x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_MEMORY_MEM32b_READ_OPRN_REGISTER_STDLONG_READ_WRITE, + x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_READ_OPRN_REGISTER_STDLONG_READ_WRITE, + x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_MEMORY_MEM64b_READ_OPRN_REGISTER_STDQUAD_READ_WRITE, + x86_64_TMPL_ADCX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_READ_OPRN_REGISTER_STDQUAD_READ_WRITE, x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_OPRN_MEMORY_MEM16b_READ_WRITE, x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_BYTE_ROLE_UNDEF_OPRN_REGISTER_STDWORD_READ_WRITE, x86_64_TMPL_ADC_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_16b_DATASZ_UNDEF_OPRN_IMMEDIATE_WORD_ROLE_UNDEF_OPRN_MEMORY_MEM16b_READ_WRITE, @@ -8321,6 +8339,10 @@ uint16_t* x86_64_variants_oprndtmpl[6238] = {NULL, x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_MEMORY_MEM8b_READ_OPRN_REGISTER_STDBYTE_READ_WRITE, x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_REGISTER_STDBYTE_READ_OPRN_MEMORY_MEM8b_READ_WRITE, x86_64_TMPL_ADD_8086_FM_ADD_A_NA_S_NO_T_INT_DATASZ_8b_DATASZ_UNDEF_OPRN_REGISTER_STDBYTE_READ_OPRN_REGISTER_STDBYTE_READ_WRITE, + x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_MEMORY_MEM32b_READ_OPRN_REGISTER_STDLONG_READ_WRITE, + x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_READ_OPRN_REGISTER_STDLONG_READ_WRITE, + x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_MEMORY_MEM64b_READ_OPRN_REGISTER_STDQUAD_READ_WRITE, + x86_64_TMPL_ADOX_ADX_FM_ADD_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_READ_OPRN_REGISTER_STDQUAD_READ_WRITE, x86_64_TMPL_AESDECLAST_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_MEMORY_MEM128b_READ_OPRN_REGISTER_XMM_READ_WRITE, x86_64_TMPL_AESDECLAST_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_REGISTER_XMM_READ_OPRN_REGISTER_XMM_READ_WRITE, x86_64_TMPL_AESDEC_AES_FM_CRYPTO_A_NA_S_YES_T_UNDEF_DATASZ_128b_DATASZ_128b_OPRN_MEMORY_MEM128b_READ_OPRN_REGISTER_XMM_READ_WRITE, @@ -10012,6 +10034,9 @@ uint16_t* x86_64_variants_oprndtmpl[6238] = {NULL, x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_16b_DATASZ_UNDEF_OPRN_REGISTER_STDWORD_WRITE, x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_WRITE, x86_64_TMPL_RDRAND_RDRAND_FM_RAND_A_NA_S_NO_T_UINT_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_WRITE, + x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_16b_DATASZ_UNDEF_OPRN_REGISTER_STDWORD_WRITE, + x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_32b_DATASZ_UNDEF_OPRN_REGISTER_STDLONG_WRITE, + x86_64_TMPL_RDSEED_RDSEED_FM_CRYPTO_A_NA_S_NO_T_UNDEF_DATASZ_64b_DATASZ_UNDEF_OPRN_REGISTER_STDQUAD_WRITE, NULL, NULL, x86_64_TMPL_REPE_CMPS_8086_FM_CMP_A_NA_S_NO_T_STR_DATASZ_16b_DATASZ_UNDEF_OPRN_MEMORY_MEM16b_READ_OPRN_MEMORY_MEM16b_READ, @@ -14489,30 +14514,30 @@ uint16_t* x86_64_variants_oprndtmpl[6238] = {NULL, NULL, NULL }; -uint8_t x86_64_variants_isets[6238] = {0,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 +uint8_t x86_64_variants_isets[6249] = {0,ISET_ADX + ,ISET_ADX,ISET_ADX,ISET_ADX,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE3,ISET_SSE3,ISET_SSE3 - ,ISET_SSE3,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_AES - ,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES - ,ISET_AES,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE4_1,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1 - ,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_ADX,ISET_ADX,ISET_ADX,ISET_ADX,ISET_AES,ISET_AES,ISET_AES + ,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_AES,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1 + ,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI2,ISET_BMI2 + ,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 @@ -14530,27 +14555,28 @@ uint8_t x86_64_variants_isets[6238] = {0,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE - ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 + ,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE - ,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE - ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_8086,ISET_8086,ISET_SSE4_1,ISET_SSE4_1 + ,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE + ,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 + ,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 + ,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 + ,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_8086,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 + ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_3DNow,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 - ,ISET_3DNow,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 @@ -14560,123 +14586,125 @@ uint8_t x86_64_variants_isets[6238] = {0,ISET_8086 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087 - ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_SMX - ,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_8086 + ,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_8087,ISET_SMX,ISET_SSE3,ISET_SSE3 + ,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_INVPCID,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_INVPCID,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F - ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_SSE3,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512F,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_SSE3,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT - ,ISET_LZCNT,ISET_LZCNT,ISET_SSE2,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 - ,ISET_SSE,ISET_SSE,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE - ,ISET_SSE,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE - ,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2 - ,ISET_SSE,ISET_8086,ISET_8086,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT,ISET_LZCNT + ,ISET_SSE2,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE + ,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086 + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_SSE3,ISET_SSE3,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE,ISET_8086 + ,ISET_8086,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE3,ISET_SSE,ISET_SSE + ,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE2 ,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE - ,ISET_SSE,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_BMI2 + ,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 - ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 - ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 - ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 + ,ISET_8086,ISET_8086,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 + ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX + ,ISET_SSE2,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX + ,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX - ,ISET_SSE2,ISET_SSE2,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 - ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_3DNow - ,ISET_3DNow,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_CLMUL - ,ISET_CLMUL,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_MMX - ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_MMX - ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_BMI2,ISET_BMI2,ISET_BMI2 - ,ISET_BMI2,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1 - ,ISET_SSE,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow + ,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 + ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX + ,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_3DNow,ISET_3DNow,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_CLMUL,ISET_CLMUL,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_MMX,ISET_MMX,ISET_SSE2 + ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_MMX,ISET_MMX,ISET_SSE2 + ,ISET_SSE2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_SSE4_2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE,ISET_BMI2 + ,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow ,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow ,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow ,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_3DNow - ,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 - ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE4_1,ISET_SSE4_1,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 - ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_3DNow - ,ISET_3DNow,ISET_3DNow,ISET_3DNow,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_MMX,ISET_MMX,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE - ,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 + ,ISET_3DNow,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 + ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE4_1,ISET_SSE4_1,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 + ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_3DNow,ISET_3DNow,ISET_3DNow + ,ISET_3DNow,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_MMX,ISET_MMX,ISET_SSSE3,ISET_SSSE3,ISET_MMX,ISET_MMX,ISET_SSE,ISET_SSE,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_3DNow,ISET_3DNow,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX - ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2 - ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 - ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE2,ISET_MMX,ISET_MMX + ,ISET_SSE4_1,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_3DNow,ISET_3DNow,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2 + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_MMX,ISET_MMX + ,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE + ,ISET_SSE,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_8086,ISET_8086,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3 + ,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSSE3,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2 + ,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2 - ,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX - ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2 - ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX - ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_3DNow - ,ISET_3DNow,ISET_SSE4_1,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 - ,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_FSGSBASE,ISET_FSGSBASE,ISET_FSGSBASE,ISET_FSGSBASE,ISET_8086,ISET_8086,ISET_RDRAND,ISET_RDRAND,ISET_RDRAND + ,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX + ,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX + ,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2 + ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_3DNow,ISET_3DNow,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2 + ,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_SSE2,ISET_MMX,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_MMX + ,ISET_MMX,ISET_SSE2,ISET_SSE2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE + ,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_FSGSBASE + ,ISET_FSGSBASE,ISET_FSGSBASE,ISET_FSGSBASE,ISET_8086,ISET_8086,ISET_RDRAND,ISET_RDRAND,ISET_RDRAND,ISET_RDSEED,ISET_RDSEED + ,ISET_RDSEED,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI2,ISET_BMI2,ISET_BMI2 + ,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 + ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_8086,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1 - ,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_SSE4_1,ISET_8086,ISET_SSE,ISET_SSE,ISET_SSE,ISET_SSE,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 @@ -14687,238 +14715,236 @@ uint8_t x86_64_variants_isets[6238] = {0,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI2 - ,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_BMI2,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_SSE,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 - ,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2 - ,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_BMI1 - ,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086 - ,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX - ,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_BMI1,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE + ,ISET_8086,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_SSE2,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX + ,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AES_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX2,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_F16C,ISET_F16C,ISET_F16C - ,ISET_F16C,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_F16C,ISET_F16C,ISET_F16C - ,ISET_F16C,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX2,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_F16C,ISET_F16C + ,ISET_F16C,ISET_F16C,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_F16C,ISET_F16C + ,ISET_F16C,ISET_F16C,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 - ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4 + ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 - ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4 + ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 - ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 + ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 - ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F - ,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA - ,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA4 + ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA + ,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA,ISET_AVX512F,ISET_AVX512F,ISET_FMA,ISET_FMA ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4 - ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX2 - ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512PF - ,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX2,ISET_AVX2,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_FMA4,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX2,ISET_AVX2 + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 - ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_VMX,ISET_VMX,ISET_VMX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_VMX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_VMX,ISET_VMX,ISET_VMX - ,ISET_VMX,ISET_VMX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_VMX,ISET_VMX,ISET_VMX,ISET_VMX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD - ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_CLMUL_AVX,ISET_CLMUL_AVX,ISET_XOP,ISET_XOP - ,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_VMX,ISET_VMX + ,ISET_VMX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_VMX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_VMX,ISET_VMX + ,ISET_VMX,ISET_VMX,ISET_VMX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_VMX,ISET_VMX,ISET_VMX,ISET_VMX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD + ,ISET_AVX512CD,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_CLMUL_AVX,ISET_CLMUL_AVX,ISET_XOP + ,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F @@ -14930,198 +14956,198 @@ uint8_t x86_64_variants_isets[6238] = {0,ISET_8086 ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_XOP,ISET_XOP,ISET_XOP + ,ISET_XOP,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD + ,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_XOP,ISET_XOP,ISET_XOP,ISET_XOP,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD - ,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD - ,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2 - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX + ,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD + ,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX512CD,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2 + ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512DQ ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2 - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2 - ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2 - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX - ,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2 + ,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW - ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX,ISET_AVX - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2 + ,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX2 + ,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX2,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ - ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX2,ISET_AVX2,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW + ,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX512BW,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX2,ISET_AVX2,ISET_AVX + ,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER + ,ISET_AVX512ER,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX512DQ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER - ,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER + ,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX512ER,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F - ,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512PF,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F - ,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX - ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_8086,ISET_8086,ISET_FSGSBASE,ISET_FSGSBASE,ISET_FSGSBASE - ,ISET_FSGSBASE,ISET_8086,ISET_RTM,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_RTM,ISET_RTM,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_RTM,ISET_8086,ISET_8086,ISET_SSE2,ISET_SSE2 - ,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX + ,ISET_AVX512F,ISET_AVX512F,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F,ISET_AVX512F + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ,ISET_AVX512DQ + ,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_AVX,ISET_8086,ISET_8086,ISET_FSGSBASE,ISET_FSGSBASE + ,ISET_FSGSBASE,ISET_FSGSBASE,ISET_8086,ISET_RTM,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_RTM,ISET_RTM,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 + ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_RTM,ISET_8086,ISET_8086,ISET_SSE2 + ,ISET_SSE2,ISET_SSE,ISET_SSE,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 ,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086,ISET_8086 - ,ISET_8086,ISET_XSAVEOPT,ISET_XSAVEOPT,ISET_8086,ISET_8086,ISET_RTM + ,ISET_8086,ISET_8086,ISET_XSAVEOPT,ISET_XSAVEOPT,ISET_8086,ISET_8086,ISET_RTM }; arch_t x86_64_arch = { "x86_64" /*Architecture name*/ ,x86_64_opcodes /*Opcode names list*/ ,x86_64_families /*Instruction families*/ ,x86_64_simd /*Instruction simd flags*/ - ,1354 /*Number of opcodes*/ - ,6238 /*Number of instruction variants*/ + ,1357 /*Number of opcodes*/ + ,6249 /*Number of instruction variants*/ ,x86_64_variants_opcodes /*Opcodes per instruction variants*/ ,x86_64_variants_nboprnd /*Numbers of operands per instruction variants*/ ,x86_64_variants_oprndtmpl /*Operands per instruction variant*/ @@ -15145,7 +15171,7 @@ arch_t x86_64_arch = { ,17 /*Number of argument registers used by functions*/ ,6 /*Number of return registers used by functions*/ ,x86_64_iset_names /*Array of instruction set names*/ - ,37 /*Number of instruction sets*/ + ,39 /*Number of instruction sets*/ ,&x86_64_reg_rip /*Instruction pointer register*/ ,"RIP" /*Name of the instruction pointer register*/ ,x86_64_insn_free /*Function used to free a x86_64 instruction*/ diff --git a/src/madras/x86_64/x86_64_arch.h b/src/madras/x86_64/x86_64_arch.h index 0bf0c65..9a0fe3e 100644 --- a/src/madras/x86_64/x86_64_arch.h +++ b/src/madras/x86_64/x86_64_arch.h @@ -22,7 +22,7 @@ /** * \file x86_64_arch.h * \brief This file contains the static declaration of architecture specific structures -* \warning This file has been automatically generated by MINJAG from file x86_64_0e7fce186ddcbfa200f4a3f3704507e5.bdf and should not be modified +* \warning This file has been automatically generated by MINJAG from file x86_64_445d940654fc2d4c12f2c51b7cff76b0.bdf and should not be modified * */ #ifndef X86_64_ARCH_H_ #define X86_64_ARCH_H_ @@ -30,1359 +30,1362 @@ #include "libmasm.h" /*Instruction names indexes*/ #define I_ADC 0 /**